diff options
Diffstat (limited to 'pandoc-build.sh')
-rwxr-xr-x | pandoc-build.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pandoc-build.sh b/pandoc-build.sh new file mode 100755 index 0000000..a15b508 --- /dev/null +++ b/pandoc-build.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +build() +{ + echo "Building $TARGET" + for FMT in $FORMATS + do + mkdir -p build/pandoc/$FMT + OPTS="-f rst" + case $FMT in + "html") OPTS="$OPTS -t html" + EXT=".html" + SPLIT=true;; + "latex") OPTS="$OPTS -t latex" + EXT=".tex" + SPLIT=true;; + "pdf") OPTS="$OPTS -t pdf" + EXT=".pdf" + SPLIT=true;; + "epub") OPTS="$OPTS -t epub" + EXT=".epub" + SPLIT=false;; + esac + if $SPLIT + then + mkdir -p build/pandoc/$FMT/$TARGET + for FNAME in $TARGET/*.rst + do + pandoc $OPTS -o build/pandoc/$FMT/${FNAME/.rst/}$EXT $FNAME + done + else + pandoc $OPTS -o build/pandoc/$FMT/$TARGET$EXT $TARGET/*.rst + fi + done +} + + +print_help() +{ + echo "Usage: pandoc_build.sh [-H] [-l] [-p] [-e]" + echo " {esempi,strumenti} [{esempi,strumenti} ...]" + echo "Options:" + echo " -H HTML5 snippet" + echo " -l latex snippet" + echo " -p PDF" + echo " -e epub" +} + +# Option parsing + +FORMATS="" + +while getopts "hHlpoe" Option +do + case $Option in + h) print_help + exit;; + H) FORMATS="$FORMATS html";; + l) FORMATS="$FORMATS latex";; + p) FORMATS="$FORMATS pdf";; + e) FORMATS="$FORMATS epub";; + esac +done +shift $(($OPTIND - 1)) + +for TARGET in $* +do + case $TARGET in + "esempi") build;; + "strumenti") build;; + *) print_help;; + esac +done |