Der Weg des Weblogs.
Seit beinahe 20 Jahren schreibe ich in ein Weblog. Teils aus Verwunderung über die Welt, teils um mir Sachen zu merken, oder einfach aus Spaß.
Aber wo diese Texte veröffentlichen? Den großen IT–Riesen gegenüber seit jeher eher reserviert, stand mir der Sinn von Anfang danach, diese Dokumente in eigener Verantwortung selbst zu verwalten und anzubieten. Selbst langjähriger Softwareentwickler im Java Ökosystem, sah ich mich nach einem System um, das ich auf einem Server selbst betreiben konnte. Als Serversoftware verwendete ich Produkte, die ich auch im Berufsleben relevant war, somit war das auch eine berufliche Fingerübung:
Alle drei waren oder sind fähige Content Management Systeme,
letzteres hab ich auch etliche Jahre in Betrieb gehalten, und schlussendlich sind einige hundert Blogbeiträge zusammengekommen.
Die Herausforderung bestand im stabilen Betrieb in der eigenen Wohnung (zuerst auf einem Raspberry Pi,
später auf einem gebrauchten Lenovo PC mit i3 CPU und 8 GB RAM, mittlerweile 12 Jahre in Betrieb),
Der Umstieg von einer Software auf die nächste war noch mit überschaubarem Aufwand möglich, solange nur ein paar wenige Artikel vorhanden waren.
Schlussendlich war aber sogar der upgrade von einer Liferay Version auf die nächste sehr mühsam.
Die Migrationsskripte der Datenbank schlugen immer öfters fehl, die Qualität der Seite litt in fortschreitendem Maße,
bis ich endlich eine neue Version gar nicht mehr zum Laufen brachte und fast zwei Jahre lang Woche für Woche die Aufgabe hinausschob, das System zu reparieren.
Ich sah mich dann nach einer neuen Lösung um. Dabei wollte ich das self-hosting in der eigenen Wohnung verzichten1 und auf einen Infrastrukturanbieter umsteigen.
Dynamisch generierte Webseiten erfordern ein komplexes System.
Eine Datenbank, in der Inhalte und Layout gespeichert sind.
Interpretiert von komplexer Serversoftware, die ausreichend Speicher und Rechenzeit benötigt.
Konfiguration, die man für ein simples Weblog gar nicht benötigt.
Und so weiter.
Dies selbst in einer gehosteten Umgebung zu betreiben, kostet dementsprechend, vor allem wenn man das System resilient (ausfallsicher) bauen will.
Durch einen Artikel in einer Zeitschrift kam auch auf eine alternative Lösung:
Die Seiten nicht dynamisch zu erzeugen, sondern bereits nach dem Schreiben durch einen Übersetzungsvorgang in eine statische Website zu übersetzen.2
Dadurch wird der Aufwand und das „Risiko“ der Erzeugung besser kontrollierbar, man kann sehr auf sehr simple Hostingangebote für statische Webseiten zurückgreifen,
und schlussendlich ist auch die Performanz der Seite hervorragend.
Im erwähnten Artikel3 war Pelican als Produkt beschrieben, nach kurzem Ausprobieren und Rechereche hab ich auf gohugo umgeschwenkt.
Die Umstellung aus dem proprietär formatierten Seiten aus Liferay hab ich in etwa zu 80% mit einem script geschafft, die restlichen 20% bedeuteten aber in Summe immer noch etliche Tage Arbeit. Manche Unzulänglichkeiten der bestehenden Blogseiten habe ich auch gar nicht korrigiert.
Jedenfalls gibt es im Ergebnis etwa 300 Seiten markdown–Dateien, eingeteilt in Jahre, die beim Rendern lokal in meinem Rechner in eine vollständige Website übersetzt werden.
gohugo unterstützt natürlich ein Vorlagensystem, das die Hauptarbeit der Darstellung für den Leser übernimmt,
ich habe mich für Clarity entschieden, das sehr viele Funktionen für ein Weblog (gute Paginierung, Mehrsprachigkeit, Suchindex) bietet.
Die Artikel sind verschlagwortet, überwiegend in Deutsch verfasst, vermengt mit ein paar englischen Texten – wo dann auch die gesamte Website in englischer Sprache ersceint.
Einer der Gründe war, dass mein Blog vom Google Index schlecht bis gar nicht akzeptiert wurde. Als einen Grund vermutete ich, dass mein System doch hin und wieder Auszeiten hatte (bei updates, Stromausfällen, …), und hoffte, dass mit einem stabilen Betrieb der Google Index meine Seiten berücksichtigen würde. Das hat sich leider als Fehleinschätzung herausgestellt – auch nach drei Jahren stabiler Betrieb ist mein Weblog kaum im Google Index. ↩︎
Eine Motivation für diese Werkzeuge plus Übersicht findet sich hier: https://cmsstash.de/empfehlungen/static-site-generatoren ↩︎
Website-Wasservogel, c't 12/2022 S. 164, https://www.heise.de/select/ct/2022/12/2205918305278821204 ↩︎