Von WordPress zu Jekyll

Geschätzte Lesezeit: 3 Minuten

Diese Webseite wird euch neuerdings stolz präsentiert von Jekyll.

Wie es dazu kam

Ein WordPress-Update ist verfügbar, fein. Nun ist ein Plugin nicht mehr voll funktionsfähig – für das gibt es allerdings kein Update. Noch nicht. Oder überhaupt? Das weiß niemand so recht. Das Upgrade eines anderen Plugins zerstört das Layout: Bildreferenzen sind verschwunden und müssen manuell neu eingetragen werden. Ein Plugin wird überhaupt nicht mehr weiterentwickelt – ich muss es abschalten und idealerweise vorher eine sinnvolle Alternative dazu auftreiben. Die Alternative nutzt allerdings andere Notationen, so dass jeder betroffene Artikel im Zweifel von Hand nachgebessert werden muss. Oder ändert man lieber im Dump der Datenbank und spielt diesen dann neu ein? Von diesem Hipster-Editor mal ganz abgesehen, der mir vor allem bei technischen Artikeln immer wieder Stöckchen zwischen die Beine wirft…

Die Schlinge, die WordPress mir hier über die Jahre gesehen um den Hals legte, fühlte sich enger und enger an; mein armes Blog hatte sich im Laufe der Zeit zu einer Art „Klotz“ entwickelt, der viel Aufwand bei Wartung und Pflege erforderte. Alles wurde immer größer, hungriger, unübersichtlicher; und meist fehlten dann Zeit und Lust für die eigentliche Sache: das Bloggen.

Die Entscheidung: Daumen hoch für Jekyll

Eine Entscheidung musste her, denn das brachliegende Blog ohne Updates verärgerte mich: Dinge nicht durchziehen ist so gar nicht meins. Doch dieses Blog begleitet mich im 16. Jahr – es hat Jobs und Beziehungen überdauert, Wohnsituationen mit- und Verwandte überlebt – es ist, wie ich mit milder Überraschung feststellte, eine der wenigen Konstanten in meinem Leben. Und mehr für mich als etwas, das ich mal eben weg werfe, neu mache, aufgebe. Eine Alternative zu WordPress musste her – und die ist nun Jekyll.

Dem ging die Erfassung dessen voraus, was unabdingbar erforderlich ist für den Betrieb der Seite – damit war ich erst einmal gut beschäftigt, denn das ist mehr als die meisten so meinen: Beibehaltung der Permalink-Struktur, Erreichbarkeit des Feeds unter seit Jahren gleicher Adresse, korrekte Zuordnung der VGWort-Marken zu Artikeln und Einbindung in die Seiten, Sicherstellung von sitemap.xml für Google Search Console und vieles mehr. Ein passendes Theme musste ich finden und an meine Vorstellungen anpassen – das hat sogar richtig Spaß gemacht, und das Ergebnis gefällt mir ausnehmend gut. Obgleich es massiv von dem abweicht, was vorher war.

Import der Bestandsdaten

Dann ging es an den Import der Bestandsdaten; ein großer Teil davon konnte automatisiert und gescriptet vonstatten gehen:

  1. Export aller Artikel und Seiten als XML über die WordPress-Oberfläche
  2. Generierung von Markdown-Files für jede Seite und jeden Artikel auf Basis dieses XML-Exports, inklusive Übernahme von „Featured Image“ und „Excerpt“ (so vorhanden)
  3. Ergänzung der Artikel um ihre korrekte VGWort-Kennung
  4. Revision von Artikeln, Kategorien und Tags
  5. manuelle Korrektur der Artikel, sofern nötig

Vor allem bei den Tags bin ich von der bisherigen, sehr feingranularen Struktur abgegangen – denn die war unwartbar, und niemand hat sich darin zurecht gefunden. Einige Artikel habe ich in diesem Zuge offline genommen – was vor 10 Jahren richtig und gut war muss es heute nicht unbedingt noch sein, und das ist auch okay so. Vor allem die Code-Abschnitte der technischen Artikel musste ich richtig setzen, und das war dann doch anstrengend… zeitweise dachte ich, ich werde nie fertig, niemals.

Aber das ist natürlich Quatsch: wenn man dranbleibt, dann wird es irgendwann auch.

Der aktuelle Stand

Ein paar Bildreferenzen sind noch kaputt, die werde ich in nächster Zeit noch korrigieren. Ansonsten… zu Anfang war ich davon überzeugt, etwas fundamental Wichtiges vergessen zu haben – es fühlt sich sehr ungewohnt an, weil der „Klotz“ weg ist, so klein und leicht und gut zu handhaben. Sehr ungewohnt! Und ich mag es total!

Auf längere Sicht soll dann auch das Publizieren automatisiert geschehen – ob nun über einen gitlab-runner oder ähnliches hab ich noch nicht entschieden. Ist aber gerade auch nicht so wichtig – die Hauptsache ist, dass sich hier überhaupt wieder etwas tun kann! Und die technischen Rahmenbedingungen dafür sind nun endlich geschaffen. Endlich.

Endlich.