Created
February 11, 2015 16:51
-
-
Save tofi86/41dca82db8d92fbf2f84 to your computer and use it in GitHub Desktop.
Mac Shell-Skript für epubMinFlow (http://datenverdrahten.de/epubMinFlow/)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Bash-Build-Konsolenskript go.sh zum Projekt epubMinFlow | |
# by Tobias Fischer - http://www.pagina-online.de - 02/2015 | |
# (1) - - - - - - - - - - V o r b e r e i t u n g - - - - - - - - - - | |
# Ausgangsdokumente (XML bzw. XSLT): | |
xmlfile="buch.xml" | |
xslfile="epub.xsl" | |
# Programmpfade zu ZIP-Tool, XSLT-Prozessor, EPUB-Checktools | |
# [Aufrufparameter ggf. unter (2) anpassen]: | |
ziptool="/Pfad_zu/Info-ZIP/zip" | |
xsltprz="/Pfad_zu/Saxon/saxon9he.jar" | |
epcheck="/Pfad_zu/EpubCheck/epubcheck-3.0.jar" | |
# Anpassbare Datei- und Pfadvorgaben für Ausgabestruktur | |
# (Verzeichnisse bilder, fonts und style liegen statisch vor): | |
epubdir="epub" | |
epubfile="buch" | |
metadir="META-INF" | |
opsdir="OPS" | |
cssdir="style" | |
htmldir="html" | |
imgdir="bilder" | |
fontdir="fonts" | |
# (2) - - - - - - - - - - V e r a r b e i t u n g - - - - - - - - - - | |
echo "EPUB-Build-Prozess gestartet ..." | |
echo "" | |
echo "* Vorbereitung ..." | |
echo "" | |
# EPUB-Struktur erzeugen (ggf. alte Version entfernen): | |
if [[ -d ${epubdir} ]] ; then | |
rm -rf ${epubdir} | |
fi | |
if [[ -f ${epubfile}.epub ]]; then | |
rm ${epubfile}.epub | |
fi | |
mkdir ${epubdir} | |
mkdir ${epubdir}/${metadir} | |
mkdir ${epubdir}/${opsdir} | |
mkdir ${epubdir}/${opsdir}/${cssdir} | |
cp -r ${cssdir} ${epubdir}/${opsdir}/ | |
mkdir ${epubdir}/${opsdir}/${imgdir} | |
cp -r ${imgdir} ${epubdir}/${opsdir}/ | |
mkdir ${epubdir}/${opsdir}/${fontdir} | |
cp -r ${fontdir} ${epubdir}/${opsdir}/ | |
mkdir ${epubdir}/${opsdir}/${htmldir} | |
echo -n "application/epub+zip" > ${epubdir}/mimetype | |
# EPUB-Inhalte mittels XSLT 2.0-Job aus XML-Buchdokument erzeugen | |
# (container.xml, content.opf, toc.ncx, einzelne XHTML-Dokumente): | |
echo "" | |
echo "* XSLT-Prozess ..." | |
java -jar ${xsltprz} -s:${xmlfile} -xsl:${xslfile} | |
# Erzeugten Verzeichnisinhalt in *.epub packen: | |
echo "" | |
echo "* Kompression ..." | |
echo "" | |
cd ${epubdir} | |
find . -name *.DS_Store -type f -exec rm {} \; | |
${ziptool} -0X ../${epubfile}.epub mimetype | |
${ziptool} -9XDr ../${epubfile}.epub ${metadir} ${opsdir} | |
cd .. | |
# Formale Statusmeldung zur Erstellung: | |
echo "" | |
if [[ -f ${epubfile}.epub ]] ; then | |
echo "... EPUB (${epubfile}.epub) wurde erzeugt." | |
else | |
echo "... EPUB (${epubfile}.epub) konnte nicht erzeugt werden." | |
fi | |
# Abschlieflende EPUB-Konformitätstests ausführen | |
# (Erfolg bei Meldung: No errors or warnings detected): | |
echo "" | |
echo "* EPUB-Tests ..." | |
echo "" | |
if [[ -f ${epubfile}.epub ]] ; then | |
java -jar ${epcheck} ${epubfile}.epub | |
fi | |
echo "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
epubpreflight
habe ich rausgelassen - ist nicht mehr aktuell