X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/5aff007d8fcfb4c6cc3c3627ae15f45562db7a0d..45fc0b87cfcdcb7ee121034f369804b72b49b57e:/scripts/htmlman?ds=sidebyside diff --git a/scripts/htmlman b/scripts/htmlman index 5bbc07b..9a09c78 100755 --- a/scripts/htmlman +++ b/scripts/htmlman @@ -1,73 +1,86 @@ #! /bin/sh # # This file is part of DisOrder -# Copyright (C) 2004, 2005, 2007, 2008 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 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 -title=$(basename $1) - -echo "" -echo " " -if $stdhead; then - echo "@include{stdhead}@" -fi -echo " $title" -echo " " -echo " " -if $stdhead; then - echo "@include{topbar}@" -fi -printf "
"
-# this is kind of painful using only BREs
-nroff -man "$1" | ${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 "@include{topbarend}@" -fi -echo " " -echo "" +for page; do + title=$(basename $page) + output=$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