chiark / gitweb /
Make menu_update() robust against being called before the notebook has
[disorder] / scripts / htmlman
... / ...
CommitLineData
1#! /bin/sh
2#
3# This file is part of DisOrder
4# Copyright (C) 2004, 2005, 2007, 2008 Richard Kettlewell
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful, but
12# WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14# General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19# USA
20#
21
22set -e
23
24stdhead=false
25
26while test $# -gt 0; do
27 case "$1" in
28 -stdhead )
29 stdhead=true
30 ;;
31 -* )
32 echo >&2 "ERROR: unknown option $1"
33 exit 1
34 ;;
35 * )
36 break
37 esac
38 shift
39done
40
41title=$(basename $1)
42
43echo "<html>"
44echo " <head>"
45if $stdhead; then
46 echo "@quiethead@#"
47fi
48echo " <title>$title</title>"
49echo " </head>"
50echo " <body>"
51if $stdhead; then
52 echo "@stdmenu{}@#"
53fi
54printf " <pre class=manpage>"
55# this is kind of painful using only BREs
56nroff -Tascii -man "$1" | ${GNUSED} \
57 '1d;$d;
58 1,/./{/^$/d};
59 s/&/\&amp;/g;
60 s/</\&lt;/g;
61 s/>/\&gt;/g;
62 s/@/\&#64;/g;
63 s!\(.\)\b\1!<b>\1</b>!g;
64 s!\(&[#0-9a-z][0-9a-z]*;\)\b\1!<b>\1</b>!g;
65 s!_\b\(.\)!<i>\1</i>!g;
66 s!_\b\(&[#0-9a-z][0-9a-z]*;\)!<i>\1</i>!g;
67 s!</\([bi]\)><\1>!!g'
68echo "</pre>"
69if $stdhead; then
70 echo "@credits"
71fi
72echo " </body>"
73echo "</html>"