WordPress-Beiträge und Seiten in Markdown umwandeln

Im letzten Jahr schrieb ich über ein Tool mit welchem die WordPress-Export-Datei in Markdown exportiert werden kann. Da das Tool einige Probleme mit bestimmten Konstellationen von Beiträgen hatte, habe ich ein eigenes Tool mit dem Namen WordPress2Markdown geschrieben. Dieses nimmt die Export-Datei, eine WordPress eXtended RSS (WXR)-Datei, entgegen und wandelt Posts und Pages in Markdown um. Ein beispielhafter Aufruf könnte dabei wie folgt aussehen:

java -jar WordPress2Markdown.jar -i wordpress-export.xml -s DATETIME -o /home/seeseekey/MarkdownExport

Der Quelltext findet sich auf GitHub zu finden und ist unter der GPL3 lizenziert. Dort findet sich ebenfalls ein entsprechendes Release.

OpenDocument-Dokumente nach Markdown konvertieren

Auf der Suche nach einer Möglichkeit mehrere hundert OpenDocument-Dokumente in Markdown zu konvertieren, bin ich schlussendlich bei Pandoc gelandet. Pandoc versteht sich als Konverter um Dokumente schnell und unkompliziert von A nach B zu konvertieren. Um nun eine OpenDocument-Datei in eine Markdown-Datei zu überführen, nutzt man folgende Syntax:

pandoc input.odt -t markdown -o output.md

Neben dieser Konvertierung, bietet Pandoc unzählige weitere Konvertierungen an. Pandoc ist unter der GPL in Version 2 lizenziert und somit freie Software. Verfügbar ist Pandoc für Linux, macOS und Windows.

WordPress-Beiträge als Markdown exportieren

Auf der Suche nach einer Möglichkeit um Beträge in WordPress als Markdown-Dateien zu exportieren, bin ich auf wp2md gestoßen. Dabei handelt sich um eine kleine Applikationen zur Umwandlung der WordPress-XML-Exportdatei zu Markdown. Zur Installation muss der Python-Paketmanager pip bemüht werden:

pip install git+https://github.com/dreikanter/wp2md

Anschließend kann wp2md für dem Export genutzt werden:

wp2md -d output/ export.xml

In der Minimalkonfiguration muss der Ausgabepfad und die Exportdatei angegeben werden. Die Export-Datei wird vorher unter WordPress über Werkzeuge -> Daten exportieren erzeugt. Anschließend erscheinen die Logmeldungen über den Exportfortschritt:

Dumping post to 'output/posts/20180616-pdfs-aus-bildern-mittels-imagemagick-erstellen.md'
Dumping post to 'output/posts/20180617-homebrew-deinstallieren-2.md'
Dumping post to 'output/posts/20180618-fernausloesung-der-kamera-am-iphone.md'
Dumping post to 'output/posts/20180619-transparente-verschluesselung-fuer-cloud-dienste.md'
Dumping post to 'output/posts/20180620-online-vektorisierer-fuer-rastergrafiken.md'
Dumping post to 'output/posts/20180711-zettlr-ein-flexibler-markdown-editor.md'
Dumping post to 'output/posts/20180712-bsnes-neu-aufgelegt.md'
Dumping post to 'output/posts/20180713-enpass-als-1password-alternative.md'
Dumping post to 'output/posts/20180720-ideentool-mit-neuen-generatoren-erschienen.md'
Dumping post to 'output/posts/20180723-cryptomator-laufwerk-verschwindet-unter-macos.md'
Dumping post to 'output/posts/20180725-puffer-fuer-streaming-im-vlc-mediaplayer-erhoehen.md'
Dumping index to 'output/index.md'

Total: posts: 3239; pages: 78; comments: 2878
Elapsed time: 30.55538 s

Neben den eigentlichen Artikeln, werden die dazugehörigen Kommentare exportiert. Daneben werde andere Inhalte wie Seiten und Entwürfe ebenfalls exportiert. Über die Kommandozeilenparameter kann der Export granulärer gesteuert werden. Der Quelltext des Projektes ist auf GitHub zu finden. Lizenziert ist das Projekt unter der GPL in der Version 3 und damit freie Software.

Zettlr – ein flexibler Markdown-Editor

Die letzten Tage verbrachte ich unter anderem damit mir unterschiedliche Markdown-Editoren anzuschauen. In die Kategorie sehenswert fiel der Markdown-Editor Zettlr. Bei Zettlr öffnet man einen Ordner und kann anschließend in diesem und seinen Unterordnern bestehende und neu anzulegende Dateien bearbeiten. Die Markdown-Formatierungen, wie Überschriften, Zitate, Fett- und Kursivstellungen, werden entsprechend hervorgehoben.

Die Darstellung der Markdown-Formatiierung

Die eingebauten Features sind eher übersichtlich in Zettlr angelegt; eine Rechtschreibprüfung und eine Exportmöglichkeit sind der einzige Zuckerguss neben den grundlegenden Bearbeitungsfunktionen. Das kann sich natürlich in der Zukunft noch ändern, da der Editor momentan in Version 0.17.1 vorliegt.

Zettlr unter Windows

Der Quelltext von Zettlr ist auf GitHub zu finden. Während er früher unter der MIT-Lizenz lizenziert war, wurde er vor einigen Monaten auf die GPL in der Version 3 umgestellt. Unter beiden Lizenzen handelt es sich bei Zettlr um freie Software. Bezogen werden kann die Applikation über die offizielle Projektseite unter zettlr.com.

Gutenberg; ungeeignet zum Schreiben?

Der neue Editor für WordPress wird Gutenberg heißen. Für Blogger die einen Text schreiben möchten und eventuell noch ein Bild einfügen möchten ist er, aus meiner Sicht gesehen, unbrauchbar.

Der Gutenberg-Editor in seiner aktuellen Plugin-Version

Veröffentlicht werden soll Gutenberg offiziell mit WordPress 5.0. Diese Version wird zirka April 2018 erscheinen. Zur Zeit kann der Editor als Plugin installiert und getestet werden.

Gutenberg
Preis: Kostenlos

Während Markdown seinen Siegeszug angetreten hat und dafür sorgt das wir ablenkungsfrei schreiben können, baut Automatic einen Editor der den Pagebuildern aller Wix und Konsorten entgegen kommt. Alles in Gutenberg ist ein Block. Es gibt Textblöcke, Bildblöcke, Videoblöcke, Listenblöcke und so weiter. Für denjenigen der täglich versucht ablenkungsfrei Text zu produzieren, ist das Ding in seiner jetzigen Form unbrauchbar. Ich möchte keine Blöcke und hunderte Möglichkeiten meine Seite zu gestalten, ich möchte ein großes weißes Blatt Papier und dieses mit meinem Text füllen. Man vernichtet mit Gutenberg praktisch die Trennung zwischen Design und Inhalt.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=Xcxtno1bdg0

Ja WordPress ist mittlerweile ein vollwertiges CMS. Aber die Entwickler sollten die Ursprünge als Werkzeug für Blogger und Autoren nicht vergessen. Wenn man sich denn Quelltext der Blöcke anschaut, wird einem als Markdown-Fan leicht übel:

<!-- wp:core/paragraph -->
<p>Lorem ipsum dolor sit amet, consectetur, ...</p>
<!-- /wp:core/paragraph -->

<!-- wp:core/video -->
<figure class="wp-block-video"><video controls="" src="https://www.youtube.com/watch?v=Xcxtno1bdg0"></video>
<figcaption>Testvideo</figcaption>
</figure>
<!-- /wp:core/video -->

<!-- wp:core/paragraph -->
<p>Lorem ipsum dolor sit amet, consectetur, ...<br/></p>
<!-- /wp:core/paragraph -->

<!-- wp:core/list -->
<ul>
<li>Lorem </li>
<li>Ipsum</li>
<li>sit </li>
<li>dolor </li>
<li>amet</li>
</ul>
<!-- /wp:core/list -->

Die Bewertungen des Gutenberg-Plugins reichen von Begeisterung bis hin zu strikter Ablehnung. Ich kann durchaus beide Seiten verstehen. Auf der einen Seite ist es ein einfacher und visueller Editor mit welchem die Textentwürfe umgesetzt werden können. Natürlich kann man nun schöne Beiträge bauen. Das ist allerdings aus meiner Sicht ein Problem. Viele Autoren und Blogger möchten keine Beiträge bauen, sondern Texte schreiben. Buchstabe für Buchstabe, Wort für Wort, Satz für Satz. Stattdessen darf ich mich bei Gutenberg mit den Blöcken herumschlagen.

Es bleibt nur zu hoffen, dass es, wie schon jetzt, eine Möglichkeit geben wird direkt einen Text zu schreiben. Interessant zu der Thematik ist eine entsprechende Diskussion auf der Review-Seite. In der FAQ wird eine solche Möglichkeit angesprochen:

We are looking at ways to make Gutenberg configurable for many use cases, including disabling different aspects (like blocks, panels, etc.). There is also be a “Classic” block, which is virtually the same as the current editor, except in block form. There’s also likely to be a very popular plugin in the repository to replace Gutenberg with the classic editor.

Auch den klassischen Editor, gibt es mittlerweile in Form eines Plugins:

Classic Editor
Preis: Kostenlos

Es wird spannend zu sehen in welche Richtung Automattic mit seinem Page-Builder-Ansatz steuert und wie die Community darauf reagieren wird. Wie man den Bewertungen des Gutenberg-Editors entnehmen kann, ist sie im Moment gespalten.