Party on with Hugo

2016-05-04

Nachdem ich keinen brauchbaren Blog Artikel Editor finden konnte, war es nur noch ein kleiner Schritt auch mein CMS durch einen Static Site Generator zu ersetzen. Das Thema schiebe ich nun schon lange vor mich her und nachdem Blogo und Desk.pm in der Praxis eher untauglich sind, war die Motivation entsprechend groß.

Wordpress als bisheriges CMS hat hervorragende Dienste geleistet, wenn man es aus dem Kontex Bequemlichkeit betrachtet. Ein Umstieg auf einen Static Site Generator bringt für mich den Vorteil, das ich meine Artikel in einem Editor meiner Wahl verfassen kann und auf dem Server kein aktives System mehr läuft, welches einen Angriffsvektor bildet. Der Webserver liefert nur noch statische Seiten aus ohne irgendwelches PHP Gedöhns oder Datenbank Zugriffe.

Natürlich bringt das auch einige Nachteile bzw. Änderungen im Workflow mit sich. Der Static Site Generator wird meistens mit Dateien in Markdown Syntax befüttert und schmeißt am Ende statische Seiten heraus. Tja, und diese liegen dann lokal und wollen irgendwie zum Hoster transportiert werden. Dank meines Hosters Uberspace kann ich mir dort einfach ein Git Repo anlegen und push meine Seiten dorthin, gefolgt von ein bisschen Consolen Magie. Es macht für mich keinen Unterschied ob ich in einer Software den “publish” Knopf drücke oder eine Bash Script laufen lasse.

Bleibt die Frage welchen Site Generator nehme ich? Hierbei hat man die Qual der Wahl. Also nehme ich einfach mal Hugo, irgendwie muss man ja anfangen.

$ brew install hugo

Benötigt man noch einen Syntax Highlighter, zieht man sich Pygments hinterher.

$ pip install Pygments

Ein neues Projekt erstellen

$ hugo new site MeinBlog

Soweit das Setup. Hugo hat kein default Theme, so das man sich erst noch ein Theme kopieren muss. Man läßt Hugo im Server Mode laufen und beginnt seine Artikel oder Seiten zu erstellen. Besonders elegant finde ich die Live Reload Funktion. Sobald man eine Änderung speichert, wird der Blog automatisch neu generiert und die Vorschau im Browser aktualisiert sich selbst. Im Gegensatz zu Wordpress ist das für mich ein echter Mehrwert.

Die meiste Zeit ging dafür drauf, um die Markdown Syntax zu erlernen und sich daran zu gewöhnen, die Artikel in Sublime zu erstellen. Ein paar Test Artikel später hatte ich schon längst vergessen das Hugo noch im Hintergrund werkelt, und damit war meine Entscheidung für Hugo gefallen.

Wenn es etwas zu bemängelt gibt, dann ist das die unübersichliche Dokumentation von Hugo. Aber hey, das ist jammern auf hohem Niveau.