From fa6c3fa34d76707b5c80726674978b2d8a2c78b6 Mon Sep 17 00:00:00 2001 From: Andreas Guldstrand Date: Fri, 27 Nov 2015 14:18:10 +0100 Subject: Changed the way html generation of manpages is done --- tools/htmlgen.sh | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'tools/htmlgen.sh') diff --git a/tools/htmlgen.sh b/tools/htmlgen.sh index 70a8b88..fd4b101 100755 --- a/tools/htmlgen.sh +++ b/tools/htmlgen.sh @@ -1,21 +1,19 @@ #!/usr/bin/env bash -if [[ "$1" == "" || "$2" == "" ]]; then - echo "usage: $(basename $0) package version" +if [[ "$1" == "" ]]; then + echo "usage: $(basename $0) destdir" exit 1 fi -PACKAGE=$1 -VERSION=$2 +DESTDIR=$1 +PACKAGE="sbotools" +VERSION=$(grep '^our $VERSION' SBO-Lib/lib/SBO/Lib.pm | grep -Eo '[0-9]+(\.[0-9]+){0,1}') -if [[ ! -d $HOME/$PACKAGE-$VERSION ]]; then - echo "I do not see the $PACKAGE-$VERSION directory." - exit 1 -fi -SBO_DIR="$HOME/$PACKAGE-$VERSION" -HTML_DIR="$HOME/html_man/$PACKAGE-$VERSION" -mkdir -p $HTML_DIR +SBO_DIR=`pwd` +TMP_DIR=$(mktemp -d "/tmp/$PACKAGE.XXXXXXXXXX") +HTML_DIR="$TMP_DIR/html" +mkdir -p $DESTDIR $HTML_DIR for i in $(ls $SBO_DIR | grep '^man'); do mkdir -p $HTML_DIR/$i @@ -28,22 +26,44 @@ for i in $(ls $SBO_DIR | grep '^man'); do ( cd $HTML_DIR/$i sed -i 's/^Content-type.*$//g' * sed -i 's/^//g' * + sed -i 's///g' * sed -i 's#\[dot\]_org#[dot]_org#g' * + sed -i 's#\[dot\]_com#[dot]_com#g' * sed -i 's#man2html#man2html#g' * sed -i 's/^$//g' * sed -i 's/^.*$//g' * sed -i 's#^$##g' * + sed -i 's###g' * + sed -i 's###g' * for k in $(ls); do mv $k $k.tmp cat $k.tmp | awk "\$0 !~ /^$/ { print > \"$k\"; }" rm $k.tmp + mv $k .. done ) + rmdir $HTML_DIR/$i done +template() { + SRC=$1 + TEMPLATE="$DESTDIR/template.html" + NAME=${SRC//.?.html/} + echo "Writing $DESTDIR/$SRC ($NAME)" + perl -0777 -pE 's/\@TITLE\@/'$NAME'/g; s/\@MAN\@/<>/e' $TEMPLATE $SRC > $DESTDIR/$SRC +} + +(cd $HTML_DIR + for src in $(ls) + do + template $src + done +) + echo "All done." exit 0; -- cgit v1.2.3