X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/763d5e6ad88ef3ba1cd1d7742d060e4f1e54c6b8..fbcfb25715ddbb522c8efac3faec1eca4811683d:/scripts/htmlman diff --git a/scripts/htmlman b/scripts/htmlman index c579151..54faee1 100755 --- a/scripts/htmlman +++ b/scripts/htmlman @@ -21,20 +21,42 @@ 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 < - -@include{stdhead}@ - $title - - -@include{@label{menu}@}@ -EOF +echo "" +echo " " +if $stdhead; then + echo "@include{stdhead}@" +fi +echo " $title" +echo " " +echo " " +if $stdhead; then + echo "@include{@label{menu}@}@" +fi printf "
"
 # this is kind of painful using only BREs
-nroff -man "$1" | sed 's/&/\&/g;
+nroff -man "$1" | sed \
+                      '1d;$d;
+                       1,/./{/^$/d};
+                       s/&/\&/g;
                        s//\>/g;
                        s/@/\@/g;
@@ -43,9 +65,9 @@ nroff -man "$1" | sed 's/&/\&/g;
                        s!_\(.\)!\1!g;
                        s!_\(&[#0-9a-z][0-9a-z]*;\)!\1!g;
                        s!<\1>!!g'
-cat <
-@include{@label{menu}@end}@
- 
-
-EOF
+echo "
" +if $stdhead; then + echo "@include{@label{menu}@end}@" +fi +echo " " +echo ""