Die bisherige Dokumentation meines Auftraggebers bestand bisher ausschließlich aus InDesign Daten. Nun musste auf einen GitHub-basierten Workflow gewechselt werden und dafür alle alten Inhalte konvertiert werden.
Die Konvertierung von InDesign-Dateien in die Markdown Syntax
Bislang basierte die Dokumentation ausschließlich auf Indesign Daten. Diese sind nur bedingt austauschbar und eingeschränkt abwärtskompatibel. Die Umstellung auf Git ermöglicht eine bessere Versionskontrolle und erleichtert die Zusammenarbeit im Team.
Das Problem
Projektbedingt muss die bisherige Dokumentation in Markdown auf Git als Standardquelle umgestellt werden. Vorhande und zukünftige Daten müssen in Markdown exportiert werden. Außerdem muß ein Re-Import von Markdown in Indesign gewährleistet werden.
Wie exportiert und importiert man nun InDesign-Dokumente in Markdown?
Die Lösung
Für eine Konvertierung von InDesign-Dateien nach Markdown wird als Zwischenschritt HTML gewählt. Anschließend konvertieren wir diese Daten mit Pandoc in Markdown. Daher wird zunächst erklärt, wie wir InDesign in HTML exportieren:
1. Export nach HTML (ab Indesign CS5.5)
Wenn Inhalte von Indesign nach HTML exportiert werden, kann genau eingestellt werden, welche Inhalte exportiert werden. Es ist möglich Textabschnitte, Grafiken, Variablen, Listen, Tabellen und Hyperlinks zu exportieren. Die Namen der Absatz-, Zeichen-, Objekt-, Tabellen- und Zellenstile werden standarmässig beibehalten und lassen sich auf die exportierten Inhalte anwenden, indem die gleichnamige CSS-Stilklassen definiert werden.
- Wir wählen Datei > Exportieren aus und stellen anschliessend als Dateityp HTML ein.
- Nachdem wir einen Dateinamen vergeben und den gewünschten Speicherort bestimmt haben können wir diese Eingabe bestätigen und im nächsten Schritt weitere Detaileinstellungen für den HTML-Export vornehmen, die in die Bereiche Allgemein, Bild und Erweitert untergliedert sind.
Auf der Website von Adobe kann eine Detailbeschreibung einzelner Funktionen in englischer Sprache eingesehen werden.
2. Konvertierung von HTML in Markdown
Für die Konvertierung verwenden wir das Konvertierungsprogramm „Pandoc“.
- Mit der Webversion können wir einzelne Dateien direkt online konvertieren, indem wir die entsprechende HTML Syntax in ein Textfeld kopieren oder die Datei raufladen.
- Das Programm Pandoc kann hier für MacOS, Windows, Linux heruntergeladen werden. Da es Kommandozeilenbasiert ist verfügt es über keinerlei grafische Oberfläche. Um die erzeugten HTML-Dateien in Markdown zu konvertieren müssen wir folgende Schritte ausführen:
Aufrufen der Kommandozeile
- Mac OS X: Das Terminal kann unter /Applications/Utilities aufgerufen werden. Wir wählen Programme > Dienstprogramme > Terminal
- Windows: Zur Eingabeaufforderung gelangen wir, indem wir im Startmenü cmd eingeben und dann diese Eingabe bestätigen. Nun geben wir chcp 65001 ein und bestätigen die Eingabe mit einem Return, bevor wir Pandoc nutzen. Dadurch stellen wir sicher, dass die Kodierung auf UTF-8 gesetzt ist.
- Linux: In Gnome navigieren wir zu Anwendungen > Zubehör > Terminal, in XFCE zu Anwendungen > System > Terminal, in KDE zu KMenu > System > Terminalprogramm (Konsole), in Unity verwenden wir die Suchfunktion und suchen dort nach Terminal.
Verzeichnis anzeigen
Der folgende Befehl zeigt uns, in welchem Verzeichnis wir uns befinden.
- OS X oder Linux:
pwd
- Windows:
echo %cd%
Verzeichnis wechseln
Mit dem folgenden Befehl wechseln wir in das Unterverzeichnis Documents.
- OS X, Linux, Windows:
cd Documents
Um in der Verzeichnisstruktur zurück zu navigieren können wir die folgende Eingabe verwenden und eine Ebene nach oben wechseln:
- OS X, Linux, Windows:
cd ..
Verzeichnisinhalt auflisten
Ob wir uns im korrekten Verzeichnis befinden können wir noch einmal überprüfen, indem wir uns den Verzeichnisinhalt auflisten lassen und nachsehen ob unsere .html Dateien enthalten sind.
- OS X, Linux,
ls
- Windows:
dir
Datei konvertieren
Um die Datei(en) zu konvertieren verwenden wir die folgende Syntax:
pandoc test1.html -f html -t markdown -s -o test1.md
Die Dateiangabe test1.html zeigt Pandoc, welche Datei wir konvertieren wollen. Die Angabe von -s bewirkt, dass eine eigene Datei mit Header und Footer erzeugt werden soll, nicht nur ein einzelnes Fragment. -o test1.md legt fest, dass die Ausgabe in der Datei test1.md gespeichert werden soll.
3. Update
Nachdem wir die Dateien konvertiert haben können sie anschließend direkt im Git-Repository aktualisiert werden.
Zusätzliche Informationen: