From 8766830f70f847569608a181e2fad9c97a8389a2 Mon Sep 17 00:00:00 2001 From: Jim Hague Date: Wed, 21 Aug 2013 10:32:50 +0100 Subject: [PATCH] Use server-side includes (with Apache XBitHack setting) in web. This means that we can have one main web page, dottes.html, for each book and include the intro and tunelist to make the page. This removes the separate header and footer components. Perhaps we should use a template engine instead to generate the output. That means choosing one. And preferably one that isn't aimed only at HTML so we could use it for the printed books. More research required. --- dottes.html.header => dottes.html | 7 +++++++ dottes.html.footer | 4 ---- makeWeb.sh | 24 ++++++++++++++++-------- 3 files changed, 23 insertions(+), 12 deletions(-) rename dottes.html.header => dottes.html (92%) delete mode 100644 dottes.html.footer diff --git a/dottes.html.header b/dottes.html similarity index 92% rename from dottes.html.header rename to dottes.html index 20fa3de..57c136c 100644 --- a/dottes.html.header +++ b/dottes.html @@ -21,6 +21,7 @@

@SUBTITLE@

+

@INTRO@

You can download a PDF with a booklet of these tunes. There is an A5 landscape book with one @@ -40,3 +41,9 @@

The tunes

+ +
+
+
+ + diff --git a/dottes.html.footer b/dottes.html.footer deleted file mode 100644 index 2f323c1..0000000 --- a/dottes.html.footer +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/makeWeb.sh b/makeWeb.sh index b96d017..9849d21 100755 --- a/makeWeb.sh +++ b/makeWeb.sh @@ -24,6 +24,7 @@ bookedir=$dir/$1 webdir=$dir/web/$1 graphicsdir=$dir/graphics/$1 output=index.html +tunelist=tunelist.html booke=$1 masterbooke=$2 title=$booke @@ -37,9 +38,6 @@ intro= if [ -r $bookedir/subtitle.txt ]; then subtitle=`cat $bookedir/subtitle.txt` fi -if [ -r $bookedir/intro.txt ]; then - intro=`txt2tags --no-headers --target=html --outfile=- $bookedir/intro.txt` -fi if [ -n "$instrument" ]; then title="${title} ($instrument)" @@ -49,8 +47,20 @@ fi mkdir -p $webdir sed -e "s/@BUILD@/$buildno/" -e "s/@SUBTITLE@/$subtitle/" \ - -e "s/@TITLE@/$title/" -e "s/@INTRO@/$intro/" \ - -e "s/@BOOK@/$booke/" dottes.html.header > $webdir/$output + -e "s/@TITLE@/$title/" -e "s/@BOOK@/$booke/" dottes.html > $webdir/$output + +# Mark output as executable so it is scanned for server-side includes. +chmod +x $webdir/$output + +for item in intro +do + rm -f $webdir/$item.html + if [ -r $booke/$item.txt ]; then + txt2tags --no-headers --target=html --outfile=$webdir/$item.html $booke/$item.txt + else + touch $webdir/$item.html + fi +done # Copy in the book PDFs. Like the graphics, Midi etc. these are assumed # to be already generated. @@ -103,7 +113,5 @@ find $bookedir -name "*.abc" | sort | -e "s/@TUNE@/${name}/" dottes.html.tune > $webdir/$tunepage sed -e "s/@TITLE@/${title//&/\&}/" \ - -e "s/@TUNE@/${name}/" dottes.html.tuneindex >> $webdir/$output + -e "s/@TUNE@/${name}/" dottes.html.tuneindex >> $webdir/$tunelist done - -cat dottes.html.footer >> $webdir/$output