Good-Bye Wordpress, Hello Hugo!
18. Aug 2015
Arminius
3 minute read

Der eine oder andere Leser hat es bereits bemerkt: das Blog sieht anders aus. Es sieht nicht anders aus, es ist auch nicht mehr Wordpress. Ich wollte weg vom softwaretechnische Overkill für ein einfaches Blog. Agiler, einfacher, text-basiert und nachdem ich keine Marketing-Agentur bin, auch schlanker und mit statischen Seiten.

Da ich gerade Go lerne (die Sprache, nicht das Brettspiel), stieß ich bei meinen Recherchen bereits nach kurzer Zeit auf Hugo. Open Source, geschrieben in Go(lang), wahnwitzig schnell und Markdown-basiert. Das klang einfach zu interessant, um sich nicht damit zu beschäftigen.

Die TL;DR Version: sieht so aus, als würde ich bei Hugo bleiben. Das System erfüllt alle meine Anforderungen, generiert laut Benchmarks mehrere tausend Seiten in weniger als zehn Sekunden und besteht aus einem einzigen Binary ohne Abhängigkeit. Ich muss also keine Ruby on Rails-Rasselbande oder einen Python-Pferch pflegen, sondern kann einfach nur die Seiten für mein Blog generieren lassen.

Bei der Migration bin ich auf einige Dinge gestoßen, die ich (mehr oder weniger auch als Notiz für mich selbst) hier aufschreibe:

  • Wordpress-Export als XML anwerfen und die XML-Datei mit dem Script exit_wp in einzelne Markdown-Dateien konvertieren lassen. Alternativ gibt es auch das eine oder andere XSL-Stylesheet im Web.

  • Die Bild-Dateien auf dem wp-upload Ordner vorher lokal auf die Platte kopieren und dann in den static-Ordner von Hugo verschieben. Tip: die Ordnerstruktur YYYY/MM/bildname hat sich bewährt. So viel, dass sich eine tageweise Unterteilung rechnet, schreiben die Wenigsten von uns.

  • Die Konfigurationsdatei von Hugo im TOML-Format behalten, auch wenn ich instinktiv eher zu YAML tendierte, fast alle Beispiel sind in TOML und das Format liest sich leichter als YAML.

  • Die konvertierten Beiträge aus dem Wordpress nachbearbeiten (das front matter, also die Metadaten zu Beginn des jeweiligen Posts nachbarbeiten und vor allem alles raus, was irgendwie nach type: post oder ähnlich aussieht)

  • Das billigste, einfachste und kleineste Theme installieren, dass es gibt purehugo ist beispielsweise ein guter Einstieg. Dann erst einmal lernen, wie das Templating und das Theming in Hugo funktioniert.

  • Die Dokumentation ist, naja, suboptimal. Steve Francia, der Autor von Hugo strukturiert die Doku zwar gut nach fachlichen Themen, aber nicht unbedingt nach der Reihenfolge eines Umsteigers nach Hugo. In viele Dinge der Dokumentation sind in einem halben Nebensatz versteckt oder nur als kleines Codebeispiel vorhanden.

  • Das Arbeiten mit Hugo ist nahezu perfekt. Editor auf, Markdown schreiben, Bild verlinken, fertig. Danach ein Script starten, das Hugo aufruft und das Ergebnis (den Ordner public) per rsync auf den Speicherplatz im Web wuchtet und schon ist alles erledigt. Keine Plugins patchen, keine Sicherheitsupdates, kein PHP ;-) einfach nur HTML, CSS und ein bisschen JavaScript, falls benötigt.

  • Hugo könnte ein gutes deutsches Tutorial vertragen, mal sehen, was ich da im Herbst zusammebauen kann …