Mercurial > dottes
view makeWeb.sh @ 370:ecc62b487e57 build-default-165
Some empty "" chords may be causing trouble with Jenkins.
Jenkins builds are stalling when generating PDFs for some morris tunes. I suspect the problem
may be an empty chord "" and abc2abc's attempt to transpose it.
I've been meaning to remove the chords from the horn output, because abc2abc transposes them too,
which renders them not terribly useful. So get on and do it. Also remove "" from the morris
tunes where it occurs.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Wed, 28 Aug 2013 14:57:11 +0100 |
parents | 5628fcd6c692 |
children | 04bd083eed29 |
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 tunelist=tunelist.html booke=$1 masterbooke=$2 title=$booke instrument=$3 buildno=`cat buildno.txt` # Remove trailing % added for Latex purposes. buildno=${buildno%%%} subtitle= intro= if [ -r $bookedir/subtitle.txt ]; then subtitle=`cat $bookedir/subtitle.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/@BOOK@/$booke/" dottes.html > $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. 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 subtitle=`$dir/abcfield.py --index 2 --field T --latex $filename` composer=`$dir/abcfield.py --field C --latex $filename` changefile=`$dir/abcfield.py --field N --contains "Change:" $filename | 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 credit=`$dir/abcfield.py --field N --contains "Credit:" $filename | sed -e "s/Credit: *//"` creditvisibility="no" if [ -n "$credit" ]; then creditvisibility="yes" fi lastchanged=`hg log --limit 1 --template "{date|shortdate}" $filename` # Copy the ABC into the web. 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/@SUBTITLE@/${subtitle}/" \ -e "s/@COMPOSER@/${composer}/" \ -e "s/@MASTERBOOKE@/${masterbooke}/" \ -e "s/@CHANGETITLE@/${changetitle//&/\&}/" \ -e "s/@CHANGETUNE@/${changefile/.abc/.html}/" \ -e "s/@CHANGEVISIBILITY@/${changevisibility}/" \ -e "s/@CREDIT@/${credit}/" \ -e "s/@CREDITVISIBILITY@/${creditvisibility}/" \ -e "s/@LASTCHANGED@/${lastchanged}/" \ -e "s/@TUNE@/${name}/" dottes.html.tune > $webdir/$tunepage sed -e "s/@TITLE@/${title//&/\&}/" \ -e "s/@TUNE@/${name}/" dottes.html.tuneindex >> $webdir/$tunelist done