gno/doc/refs/mkhtmlman
gdr-ftp 6bae989841 - when making html versions of the man pages, skip files that appear
not to be GNO man pages, despite the file name.  Be verbose about it.
1998-02-04 07:17:13 +00:00

75 lines
1.6 KiB
Bash
Executable File

#! /bin/sh
#
# Devin Reade, November 1997.
#
# $Id: mkhtmlman,v 1.6 1998/02/04 07:17:13 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 '^\.TH.*GNO' $F; then
echo "$F:1: This does not appear to be a GNO manual page. Skipped."
continue
fi
f=`basename $F`
f2=`echo $f | perl -pe 's/\.[^\.]+$//;'`
echo "$f" >> $listfile
if [ -f $F'G' ]; then
F="$F"G
fi
if ! ./newer $dest/$f.html $F; then
echo "creating $dest/$f.html"
nroff -man $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