chiark / gitweb /
Add shared/public/private radio button set to playlist editor to show
[disorder] / scripts / htmlman
index c579151dcd9679dba61e6e4cabd5e34288d1f13e..21452dce500c0df6a45e6cba9ff887befc6ecd34 100755 (executable)
@@ -1,40 +1,60 @@
 #! /bin/sh
 #
 # This file is part of DisOrder
-# Copyright (C) 2004, 2005 Richard Kettlewell
+# Copyright (C) 2004, 2005, 2007, 2008 Richard Kettlewell
 #
-# This program is free software; you can redistribute it and/or modify
+# This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
 set -e
 
+stdhead=false
+
+while test $# -gt 0; do
+  case "$1" in
+  -stdhead )
+    stdhead=true
+    ;;
+  -* )
+    echo >&2 "ERROR: unknown option $1"
+    exit 1
+    ;;
+  * )
+    break
+  esac
+  shift
+done
+
 title=$(basename $1)
 
-cat <<EOF
-<html>
- <head>
-@include{stdhead}@
-  <title>$title</title>
- </head>
- <body>
-@include{@label{menu}@}@
-EOF
+echo "<html>"
+echo " <head>"
+if $stdhead; then
+  echo "@quiethead@#"
+fi
+echo "  <title>$title</title>"
+echo " </head>"
+echo " <body>"
+if $stdhead; then
+  echo "@stdmenu{}@#"
+fi
 printf "   <pre class=manpage>"
 # this is kind of painful using only BREs
-nroff -man "$1" | sed 's/&/\&amp;/g;
+nroff -Tascii -man "$1" | ${GNUSED} \
+                      '1d;$d;
+                       1,/./{/^$/d};
+                       s/&/\&amp;/g;
                        s/</\&lt;/g;
                        s/>/\&gt;/g;
                        s/@/\&#64;/g;
@@ -43,9 +63,9 @@ nroff -man "$1" | sed 's/&/\&amp;/g;
                        s!_\b\(.\)!<i>\1</i>!g;
                        s!_\b\(&[#0-9a-z][0-9a-z]*;\)!<i>\1</i>!g;
                        s!</\([bi]\)><\1>!!g'
-cat <<EOF
-</pre>
-@include{@label{menu}@end}@
- </body>
-</html>
-EOF
+echo "</pre>"
+if $stdhead; then
+  echo "@credits"
+fi
+echo " </body>"
+echo "</html>"