chiark / gitweb /
sync with disorder.dev
[disorder] / scripts / htmlman
CommitLineData
460b9539 1#! /bin/sh
2#
3# This file is part of DisOrder
4# Copyright (C) 2004, 2005 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
13affe66
RK
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
460b9539 41title=$(basename $1)
42
13affe66
RK
43echo "<html>"
44echo " <head>"
45if $stdhead; then
46 echo "@include{stdhead}@"
47fi
48echo " <title>$title</title>"
49echo " </head>"
50echo " <body>"
51if $stdhead; then
52 echo "@include{@label{menu}@}@"
53fi
460b9539 54printf " <pre class=manpage>"
55# this is kind of painful using only BREs
13affe66
RK
56nroff -man "$1" | sed \
57 '1d;$d;
74aefe58 58 1,/./{/^$/d};
13affe66 59 s/&/\&amp;/g;
460b9539 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'
13affe66
RK
68echo "</pre>"
69if $stdhead; then
70 echo "@include{@label{menu}@end}@"
71fi
72echo " </body>"
73echo "</html>"