From 3153217e8553b47e3b1178fbf9c4b85abac1e192 Mon Sep 17 00:00:00 2001 From: Elena ``of Valhalla'' Grandi Date: Sat, 14 Jul 2012 17:44:43 +0200 Subject: new build script using pandoc --- README.txt | 9 +++++++ pandoc-build.sh | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100755 pandoc-build.sh diff --git a/README.txt b/README.txt index 5b9ca4d..678386a 100644 --- a/README.txt +++ b/README.txt @@ -23,6 +23,15 @@ ed odt, e ```` può essere ``esempi`` o ``strumenti``. Alcuni esempi non compilano in tutti i formati supportati da docutils, dato che illustrano caratteristiche non sempre disponibili. +In alternativa, si possono compilare gli esempi con pandoc_, usando:: + + ./pandoc_build.sh [-H] [-l] [-p] [-e] [] + +anche in questo caso per ottenere PDF è necessario avere installato +xeTeX. + +.. _pandoc: http://johnmacfarlane.net/pandoc/ + Licenza ------- 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 -- cgit v1.2.3