gno/doc/refs/mkhtmlman
gdr-ftp 9416f9d55c - split the top level GNO docs web page into subpages
- add a file containing a list of man pages to ignore when building
  the html versions of the pages
1998-02-19 03:04:10 +00:00

87 lines
1.9 KiB
Bash
Executable File

#! /bin/sh
#
# Devin Reade, November 1997.
#
# $Id: mkhtmlman,v 1.7 1998/02/19 03:04:05 gdr-ftp Exp $
man2html=/usr/local/bin/man2html
TMPDIR=${TMPDIR:-/tmp}
#
# Make sure we know where everything is going.
#
if [ -z "$GNOROOT" ]; then
echo "GNOROOT variable not set"
exit 1
fi
if [ -z "$MANHTML" ]; then
echo "MANHTML variable not set"
exit 1
fi
if [ -z "$NAME" ]; then
echo "NAME variable not set"
exit 1
fi
if [ -z "$ADDR" ]; then
echo "ADDR variable not set"
exit 1
fi
if [ ! -x ./newer ]; then
echo "./newer does not exist"
exit 1
fi
set +e
listfile=$TMPDIR/mkhtmlman.1.$$
trap "rm -f $listfile" 0 1 2 15
MANDIRS="$GNOROOT/usr.man $GNOROOT/*bin* $GNOROOT/*lib*"
for section in 1 2 3 4 5 6 7 8; do
dest=$MANHTML/man$section
[ -d $dest ] || mkdir -p $dest
for F in 00.DUMMY `find $MANDIRS -type f -name '*.'$section -print \
| grep -v libcurses/PSD.doc \
| grep -v bin/gsh/updates1.1 \
| grep -v sed/tests` ; do
[ "$F" = 00.DUMMY ] && continue;
if egrep -q -e '^'"$F"'$' ignored.pages; then
echo "$F: ignored"
continue
fi
F_noG="$F"
if [ -f $F'G' ]; then
F="$F"G
fi
macro=''
if ! egrep -q -e '^\.TH.*GNO' $F; then
if egrep -q -e '^\.Sh NAME' $F; then
echo "$F: Using the BSD-formatted man page."
macro=doc
else
echo "$F: This does not appear to be a GNO manual page." \
"Skipped."
continue
fi
fi
f=`basename $F_noG`
f2=`echo $f | perl -pe 's/\.[^\.]+$//;'`
echo "$f" >> $listfile
if ! ./newer $dest/$f.html $F; then
echo "creating $dest/$f.html"
nroff -man$macro $F | $man2html -nodepage | \
perl -p -e \
's/<BODY>/<title>GNO: '"$f2($section)"'<\/title><body bgcolor=\#ffffff>/;'\
> $dest/$f.html
fi
done
echo "creating $dest/00.index.html"
sort $listfile | \
./mkmandex -s$section -name="$NAME" -addr="$ADDR" -mkso="$MKSO" \
-hroot="$HTMLROOT" > $dest/00.index.html
rm $listfile
done