Mercurial > dottes
view makeWeb.sh @ 282:ced1d1ba42f6
Various revisions of printed book presentation.
1. Purple background on the front and and new blank back pages.
2. UK English for hyphenation and date presentation.
3. Dedication and 'About Havoc' section.
4. Footer just page number in centre of page.
5. Revised copyright discussion.
6. Since it's a book, make content, intro and first lines to chapters.
And prompt individual tunes to sections.
7. Omit 'Tunes' chapter heading. It doesn't look good in A5.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 05 Jul 2013 18:56:34 +0100 |
parents | 8bea9fdeba40 |
children | 07e9fa311c6f |
line wrap: on
line source
#!/bin/bash # # Build the website. The common items and the web items are assumed # to be already built. # #set -x # Restore titles like 'Exploding Potato, The' to the # expected 'The Exploding Potato'. fixtitle() { retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"` } if [ $# -lt 2 -o $# -gt 3 ]; then echo "Usage: makeWeb.sh <book dir name> <master book dir name> [<instrument name>]" exit 1 fi dir=`pwd` bookedir=$dir/$1 webdir=$dir/web/$1 graphicsdir=$dir/graphics/$1 output=index.html booke=$1 masterbooke=$2 title=$booke instrument=$3 buildno=`cat buildno.txt` subtitle= intro= if [ -r $bookedir/subtitle.txt ]; then subtitle=`cat $bookedir/subtitle.txt` fi if [ -r $bookedir/intro.txt ]; then intro=`cat $bookedir/intro.txt` fi if [ -n "$instrument" ]; then title="${title} ($instrument)" subtitle="${subtitle} ($instrument)" 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 # Copy in the book PDFs. Like the graphics, Midi etc. these are assumed # to be already generated. cp $1-*.pdf $webdir # Now, for each tune, make the tune graphic and sound. find $bookedir -name "*.abc" | sort | while read filename do name=`basename $filename .abc` title=`$dir/abcfield.py --field T --html $filename` fixtitle "$title" title=$retval changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"` changetitle="" changevisibility="no" if [ -n "$changefile" ]; then changetitle=`$dir/abcfield.py --field T --html $bookedir/$changefile` changevisibility="yes" fixtitle "$changetitle" changetitle=$retval fi # Copy tune PDF from common graphics. cp $graphicsdir/${name}.pdf $webdir # And copy the ABC. cp $filename $webdir # Generate the tune web page. tunepage=${name}.html # If the title contains HTML character entities, escape # initial '&' in the title - it means things to sed. sed -e "s/@TITLE@/${title//&/\&}/" \ -e "s/@MASTERBOOKE@/${masterbooke}/" \ -e "s/@CHANGETITLE@/${changetitle//&/\&}/" \ -e "s/@CHANGETUNE@/${changefile/.abc/.html}/" \ -e "s/@CHANGEVISIBILITY@/${changevisibility}/" \ -e "s/@TUNE@/${name}/" dottes.html.tune > $webdir/$tunepage sed -e "s/@TITLE@/${title//&/\&}/" \ -e "s/@TUNE@/${name}/" dottes.html.tuneindex >> $webdir/$output done cat dottes.html.footer >> $webdir/$output