Beiträge

lernOS Guide Produktionskette auf dem Mac und neue Makefile-Funktionen

Ich habe mich gestern mal daran gemacht, die Produktionskette für lernOS Guides auch auf dem Macbook zum laufen zu bringen. Im Prinzip war das genau so einfach wie auf Windows, außer dass man für MacTeX Pfadanpassungen machen muss und es Balbolka für die Audiobook-Produktion auf dem Mac nicht gibt.

Bei der Gelegenheit habe ich dann auch das Makefile für Windows (make.bat) in eine Shell-Skript-Version für den Mac (make.sh) übertragen. Die Datei findet ihr -noch unkommentiert- im GitHub Repo des lernOS für Organisationen Guide. Im Folgenden erkläre ich mal kurz, was die einzelnen Befehle dort tun.

Zunächst werden die Pfade richtig gesetzt, damit die nachfolgenden Befehle die MacTeX-Binaries für PDF-Erstellung und Calibre für E-Book-Erstellung und -Konvertierung finden:

PATH=$PATH:/Library/TeX/texbin:/usr/texbin:/usr/local/bin
PATH=$PATH:/Applications/calibre.app/Contents/console.app/Contents/MacOS

Dann wird die Variable f für den Dateinahmen gesetzt, damit man in den nachfolgenden Befehlen bei verschiedenen Guides nicht immer lange Textketten austauschen muss, in dem Fall:

f=lernOS-for-Organizations-Guide-de

Jetzt wird die Word-Version (docx) des Guides erzeugt. Hier gibt es noch einige offene Punkte: So wird die Metadaten-Datei (metadata/metadaty.yaml) zwar übergeben, in den Dokumenteigenschaften von Word erscheinen diese aber nicht. Außerdem sieht die Word-Datei noch sehr “roh” aus. Mit dem Schalter –reference-doc kann man pandoc eine Vorlage übergeben, damit Deckblatt, Fonts etc. ähnlich dem PDF aussehen.

pandoc $f.md metadata/metadata.yaml -o $f.docx

Danach wird die HTML-Version erzeugt. Der Schalter –toc erzeugt ein klickbares Inhaltsverzeichnis (Table of Contents) Für die Zukunft will ich das noch ein bisschen erweitern, damit das HTML etwas schicker und besser zu navigieren wird (habe ich mit Leonid auf dem VW Group Collaboration Barcamp schonmal getestet).

pandoc $f.md metadata/metadata.yaml -s --toc -o $f.html

Dann wird die PDF-Version erzeugt. Dafür wird das pandoc LaTeX Template von Wandmalfarbe verwendet (–template lernos). Die Metadaten wie Titel, Deckblatt-Farbe etc. stehen in der Metadaten-Datei.

pandoc $f.md metadata/metadata.yaml --template lernos -o $f.pdf

Für die E-Book-Erstellung sind mehrere Schritte notwendig. Zunächst wird aus der PDF-Version die erste Seite (Index 0) mit 300dpi Auflösung als Deckblatt für die E-Book-Version als JPG-Datei (images/ebook-cover.jpg) extrahiert. Das wird mit dem Befehl magick aus dem Paket ImageMagick gemacht:

magick -density 300 $f.pdf[0] images/ebook-cover.jpg

Dann wird die JPG-Datei nach den Vorgaben für Amazon KDP eBooks auf die Höhe 2500px skaliert (erster mogrify-Befehl) und im Anschluss auf die korrekte Größe von 1563x255px zurechtgeschnitten (zweiter mogrify-Befehl):

mogrify -size 2500x2500 -resize 2500x2500 images/ebook-cover.jpg
mogrify -crop 1563x2500+102+0 images/ebook-cover.jpg

Im Anschluss wird mit pandoc die EPUB-Version des eBooks erzeugt und diese dann mit dem Befehl ebook-convert aus dem Paket Calibre in das Kindle-Format MOBI konvertiert:

pandoc $f.md metadata/metadata.yaml -s --epub-cover-image=images/ebook-cover.jpg -o $f.epub
ebook-convert $f.epub $f.mobi

Fertig ist der Workflow, viel Spaß beim Nachbauen! Über Tipps und Verbesserungsvorschläge über die Kommentare bin ich jederzeit offen :-)

Neuer lernOS Produktions-Workflow

Für die Erstellung von lernOS Leitfäden haben wir uns einen Produktions-Workflow gebaut, der aus einer Single-Source automatisch verschiedene Zielformate erzeugen kann. Die Quellen der Leitfäden sind durchgängig in Markdown geschrieben. Für den ersten lernOS Guide in der Version 1.0 haben wir daraus die Formate PDF, DOCX (MS Word), HTML und EPUB (eBook) erzeugt. Für die Version 1.1 haben wir diesen Workflow etwas erweitert. In diesem Blog beschreibe ich alle notwendigen “Zutaten”.

Der alte Workflow hat im Kern zwei Werkzeuge verwendet:

  1. Pandoc: eine Anwendung zur Konvertierung von Dokumentformaten. Pandoc unterstützt eine Vielzahl von Dateiformaten, darunter z.B. Markdown, textile, HTML, LaTeX, Mediawiki, Creole, MS Word, ODT (Libre Office), DocBook uvm.
  2. MikTeX: damit pandoc auch PDF erzeugen kann, ist MikTeX notwendig. MikTeX ist eine LaTeX-Version für Windows.

Im alten Workflow wurde eine PDF-Version, eine Word-Version, eine HTML-Version (u.a. zur Erzeugung der OneNote-Vorlage) und eine EPUB-Version erstellt. Die PDF-Version hatte das lernOS-typische orange Cover, die anderen Versionen waren ohne Cover, da die Cover-Erzeugung eine Funktion der LaTex-Vorlage ist. Außerdem konnte die EPUB-Version nicht direkt an den verbreiteten Amazon Kindle (Device oder App) übertragen werden, da dieser MOBI und nicht EPUB als Format verwendet. Daher wurde der Workflow für die Version 1.1 des lernOS Guide wie folgt erweitert:

  1. ImageMagick: freie Anwendung zur Erstellung und Bearbeitung von Raster- und Vektor-Grafiken. Damit ist die Konvertierung des Covers (erste Seite des PDF) in eine PNG-Datei möglich.
  2. Calibre: freie Anwendung zur Verwaltung und Konvertierung von eBooks. Damit kann die EPUB-Version um Metadaten und das Cover erweitert und im Anschluss auch in das MOBI-Format konvertiert werden.

Auf diese Weise entsteht im neuen Workflow eine Datei mit Endung .mobi, die an die E-Mail-Adresse des eigenen Kindle geschickt werden kann. Dort kann der Leitfaden dann kommentiert, durchsucht und mit Lesezeichen versehen werden. Alle Markierungen synchronisieren sich automatisch über alle Kindle-Geräte.