X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/460b9539a7c15580e41a71bbc0f47ae776238915..9e4d6051b4661ec2992a638d747fa2d4e6a4e516:/scripts/htmlman diff --git a/scripts/htmlman b/scripts/htmlman index 54b1402..5290d1b 100755 --- a/scripts/htmlman +++ b/scripts/htmlman @@ -1,52 +1,86 @@ #! /bin/sh # # This file is part of DisOrder -# Copyright (C) 2004, 2005 Richard Kettlewell +# Copyright (C) 2004, 2005, 2007, 2008, 2010 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 . # set -e -title=$(basename $1) +stdhead=false +extension="html" + +while test $# -gt 0; do + case "$1" in + -stdhead ) + stdhead=true + ;; + -extension ) + shift + extension=$1 + ;; + -- ) + shift + break + ;; + -* ) + echo >&2 "ERROR: unknown option $1" + exit 1 + ;; + * ) + break + ;; + esac + shift +done -cat < - -@include{stdhead}@ - $title - - -@include{@label{menu}@}@ -EOF -printf "
"
-# this is kind of painful using only BREs
-nroff -man "$1" | sed 's/&/\&/g;
-                       s//\>/g;
-                       s/@/\@/g;
-                       s!\(.\)\1!\1!g;
-                       s!\(&[#0-9a-z][0-9a-z]*;\)\1!\1!g;
-                       s!_\(.\)!\1!g;
-                       s!_\(&[#0-9a-z][0-9a-z]*;\)!\1!g;
-                       s!<\1>!!g'
-cat <
-@include{@label{menu}@end}@
- 
-
-EOF
-# arch-tag:c0096f33b8a8f7d88236043ed970ae83
+for page; do
+  title=$(basename $page)
+  output=$(basename $page).$extension
+  echo "$page -> $output" >&2
+  exec > $output.new
+  echo ""
+  echo " "
+  if $stdhead; then
+    echo "@quiethead@#"
+  fi
+  echo "  $title"
+  echo " "
+  echo " "
+  if $stdhead; then
+    echo "@stdmenu{}@#"
+  fi
+  printf "   
"
+  # this is kind of painful using only BREs
+  nroff -Tascii -man "$page" | ${GNUSED} \
+                        '1d;$d;
+                         1,/./{/^$/d};
+                         s/&/\&/g;
+                         s//\>/g;
+                         s/@/\@/g;
+                         s!\(.\)\1!\1!g;
+                         s!\(&[#0-9a-z][0-9a-z]*;\)\1!\1!g;
+                         s!_\(.\)!\1!g;
+                         s!_\(&[#0-9a-z][0-9a-z]*;\)!\1!g;
+                         s!<\1>!!g'
+  echo "
" + if $stdhead; then + echo "@credits" + fi + echo " " + echo "" + mv $output.new $output +done