sbotools2

Maintenance fork of the original sbotools version 2
git clone git://git.server.ky/slackcoder/sbotools2
Log | Files | Refs | README

htmlgen.sh (1893B)


      1 #!/usr/bin/env bash
      2 
      3 if [ "$1" == "" -o "$1" == "-h" ]; then
      4 	echo "usage: $(basename $0) destdir"
      5 	exit 1
      6 fi
      7 
      8 DESTDIR=$1
      9 PACKAGE="sbotools"
     10 VERSION=$(grep '^our $VERSION' SBO-Lib/lib/SBO/Lib.pm | grep -Eo '[0-9]+(\.[0-9RC]+){0,1}')
     11 
     12 
     13 SBO_DIR=`pwd`
     14 TMP_DIR=$(mktemp -d "/tmp/$PACKAGE.XXXXXXXXXX")
     15 HTML_DIR="$TMP_DIR/html"
     16 mkdir -p $DESTDIR $HTML_DIR
     17 
     18 for i in $(ls $SBO_DIR | grep '^man'); do
     19 	mkdir -p $HTML_DIR/$i
     20 	( cd $SBO_DIR/$i
     21 		for j in $(ls); do
     22 			man2html $j > $j.html
     23 			mv $j.html $HTML_DIR/$i/
     24 		done
     25 	)
     26 	( cd $HTML_DIR/$i
     27 		sed -i 's/^Content-type.*$//g' *
     28 		sed -i 's/^<A HREF.*Return to Main.*$//g' *
     29 		sed -i -r "s#http://localhost/cgi-bin/man/man2html\?([0-9])\+([^\"]+)#/$PACKAGE/documentation/\2.\1.html#g" *
     30 		sed -i 's/j@dawnrazor.net/j_[at]_dawnrazor_[dot]_net/g' *
     31 		sed -i 's/xocel@iquidus.org/xocel_[at]_iquidus_[dot]_org/g' *
     32 		sed -i 's/andreas.guldstrand@gmail.com/andreas_[dot]_guldstrand_[at]_gmail_[dot]_com/g' *
     33 		sed -i 's/<A HREF="mailto:xocel_\[at\]_iquidus_\[dot\]_org">//g' *
     34 		sed -i 's/<A HREF="mailto:andreas_\[dot\]_guldstrand_\[at\]_gmail_\[dot\]_com">//g' *
     35 		sed -i 's#\[dot\]_org</A>#[dot]_org#g' *
     36 		sed -i 's#\[dot\]_com</A>#[dot]_com#g' *
     37 		sed -i 's#<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>#man2html#g' *
     38 		sed -i 's/^$//g' *
     39 		sed -i 's/^<HTML><HEAD>.*$//g' *
     40 		sed -i 's#^</HEAD><BODY>$##g' *
     41 		sed -i 's#</BODY>##g' *
     42 		sed -i 's#</HTML>##g' *
     43 		for k in $(ls); do
     44 			mv $k $k.tmp
     45 			cat $k.tmp | awk "\$0 !~ /^$/ { print > \"$k\"; }"
     46 			rm $k.tmp
     47 			mv $k ..
     48 		done
     49 	)
     50 	rmdir $HTML_DIR/$i
     51 done
     52 
     53 template() {
     54     SRC=$1
     55     TEMPLATE="$DESTDIR/template.html"
     56     NAME=${SRC//.?.html/}
     57     echo "Writing $DESTDIR/$SRC ($NAME)"
     58     perl -0777 -pE 's/\@TITLE\@/'$NAME'/g; s/\@MAN\@/<>/e' $TEMPLATE $SRC > $DESTDIR/$SRC
     59 }
     60 
     61 (cd $HTML_DIR
     62     for src in $(ls)
     63     do
     64         template $src
     65     done
     66 )
     67 
     68 echo "All done."
     69 exit 0;