chiark / gitweb /
make distcheck in scirpts/dist
[disorder] / scripts / htmlman
index c579151dcd9679dba61e6e4cabd5e34288d1f13e..17fc7f3b6a05e5da88989ad9410f5766428a675c 100755 (executable)
@@ -1,7 +1,7 @@
 #! /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
 # it under the terms of the GNU General Public License as published by
 
 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 +65,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>"