view makeWebGraphics.sh @ 735:68f926e61d16

Revise Markdown handling of character entities. Ideally I'd like the ABC character entities to survive Markdown and then get converted. But because they start with '\', they don't. So I have no alternative but to convert them to HTML entities, which Markdown then converts to UTF-8.
author Jim Hague <jim.hague@acm.org>
date Thu, 12 Oct 2017 13:32:24 +0100
parents b4eb1753c80f
children ce5c7214f9aa
line wrap: on
line source

#!/bin/bash
#
# Make graphics required for the website but not for the book.
# They go into web/<book>.
#

if [ $# != 1 ]; then
    echo "Usage: makeWebGraphics.sh <book dir name>"
    exit 1
fi

dir=`pwd`

booke=$dir/$1
builddir=$dir/web/$1
graphicsdir=$dir/graphics/$1

mkdir -p $builddir

# Now, for each tune, make the main tune and tune first line bitmaps.
# Do this to temp files and rename into place to make updates as
# atomic as possible.
find $booke -name "*.abc" | sort |
    while read filename
    do
        name=`basename $filename .abc`
        tmpname=${name}.tmp
        convert -colors 256 -quality 90 -density 200 $graphicsdir/${name}.pdf $builddir/${tmpname}.png
        convert -colors 256 -quality 90 -density 200 $graphicsdir/firstline-${name}.pdf $builddir/firstline-${tmpname}.png

        mv $builddir/${tmpname}.png $builddir/${name}.png
        mv $builddir/firstline-${tmpname}.png $builddir/firstline-${name}.png

        # Make the web downloadable PDF with the tune title.
        abcm2ps -E -F singletuneweb -O $builddir/$name.eps $filename
        # And make the corresponding PDF.
        epstopdf --outfile=$builddir/$name.pdf $builddir/${name}001.eps
        rm $builddir/${name}001.eps
    done