#! /bin/sh # # Devin Reade, November 1997. # # $Id: mkhtmlman,v 1.10 2012/08/25 07:22:00 gdr Exp $ TMPDIR=${TMPDIR:-/tmp} # # Make sure we know where everything is going. # # GNOROOT is the root of the GNO source tree. # MANHTML is the directory where we will be putting our manual pages. # MYDIR=`dirname $0` [ -z "$GNOROOT" ] && GNOROOT=$MYDIR/../.. [ -z "$MANHTML" ] && MANHTML=$MYDIR/work [ -z "$NAME" ] && NAME="Fake Name" [ -z "$ADDR" ] && ADDR="nobody@example.com" 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 .AppleDouble \ | grep -v .finderinfo \ | grep -v .resource \ | 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//GNO: '"$f2($section)"'<\/title><body bgcolor=\#ffffff textcolor=\#000000 linkcolor=\#0000FF vlinkcolor=\#001177 alinkcolor=\#001177>/;'\ > $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