Jekyll vs Hugo - Ein Erfahrungsbericht!

24.03.2019 - Jürgen Wichmann

Meine Homepage “eigenehomepage.info” habe ich zu Beginn “von Hand” geschrieben. Meines erachtens ist das auch der beste Weg, um sich eine eigene Homepage zu erstellen, und das Erstellen von Webseiten zu lernen. Das heißt sie bestand am Anfang aus wenigen HTML Dateien, die miteinander verlinkt waren, und einer css Datei.

Ein Website wächst mit der Zeit, wenn man ein Projekt weiter betreibt. Mit der zunehmenden Größe des Projekts wächst auch der Arbeitaufwand, der mit der Pflege und dem Ausbau der Website entsteht. Das Problem ist, das HTML von Haus aus keine Möglichkeit bietet, Vorlagen zu entwerfen und diese automatisch in neue HTML Dateien zu integrieren.

Bevor ich mich dazu entschieden habe einen Static Site Generator einzusetzen, bestand meine Website aus zwar überschaubaren aber immerhin 22 HTML Dateien. Da ich auf meiner Website den Anspruch habe, das der Besucher ohne Umwege von jeder Seite meiner Hompage direkt auf jede andere Seite wechseln kann, hat das zur Folge, das ich auf allen 22 bestehenden Seiten meine Navigation überarbeiten muss, wenn ich nur eine neue Seite hinzufüge. Der Aufwand und auch die Komplexität der Navigation wird mit jeder neuen Seite die dazukommt größer. Natürlich müssen alle Seiten auch wieder auf den Webserver hochgeladen werden.

Jedes Kalenderjahr ist es erforderlich den Copyright Hinweis zu ändern. Auf jeder einzelnen Seite. Diese Liste lässt sich beliebig fortsetzen…

Und hier kommen Content-Management-Systeme (CMS) und Static Site Generatoren ins Spiel und werden interessant.

Auf die verschiedenen Arten von CMS und Ihre Vor- und Nachteile gehe ich auf meiner Seite CMS ein.

Content-Management-Systeme trennen eine Website grundsätzlich in 2 verschiedene Elemente auf. Sie trennen mehr oder weniger strikt eine Website in Vorlagen (Templates), die das Grundgerüst (Design) einer Website enthalten und den eigentlichen Inhalt der Seiten.

Die Vorteile liegen auf der Hand: Hat man das Design einmal entworfen und will beispielsweise einen neuen Link in die Navigation einfügen, so braucht man das nur einmal in der entsprechenden Vorlage zu machen. Das CMS kombiniert die geänderte Vorlage mit den alten und neuen Inhalten und generiert daraus automatisch die neuen Seiten. Das ist nur ein Vorteil den Content Management Systeme bieten. Es lassen sich auch viele andere Arbeitsabläufe automatisieren, und viele CMS bringen auch fertige Plugins mit, die man in seine Seite einbauen kann.

Soweit so gut!

Aber in so ein CMS muss man sich auch erst mal einarbeiten.
Einarbeiten bedeutet: installieren, erkunden, Anleitungen lesen, ausprobieren und vor allen Dingen verstehen, wie es arbeitet! Gerade der letzte Punkt ist sehr wichtig, ansonsten bekommt man kaum die Ergebnisse, die man haben möchte.

Ich gebe es zwar ungern zu, aber ich habe die Komplexität dieser CMS schwer unterschätzt, obwohl ich mich bewusst für als eher einfach bekannte entschieden hatte.

Für mich war klar, dass ich keines dieser dynamischen Monster CMS mit Datenbank im Hintergrund und zig Abhängigkeiten und dem Zwang diese dauernd upzudaten als CMS nehmen würde.
Ein kleines, feines statisches CMS sollte es sein. Und es sollte nicht auf dem Webserver sondern lokal auf meiner Maschine laufen, damit ich die volle Kontrolle über das System habe.
Damit wird die doch recht große Auswahl an CMS deutlich eingeschränkt, ist aber immer noch gross genug.

Hugo ist ein solches CMS, dass meine Anforderungen erfüllt und über das ich im Netz bei der Suche nach Informationen über CMS öfter gestolpert bin. Die Hugo Homepage habe ich früher schon öfter besucht, mir die fertigen Vorlagen, die es dafür gibt, angeschaut, und habe in den Anleitungen geschmökert.

Ich bin dann immer wieder zu dem Ergebnis gekommen, meine Seiten erst mal weiter ohne CMS zu schreiben. Um es vorweg zu nehmen, die Entscheidung Hugo nicht zu benutzen, war - jedenfalls für mich - richtig.

Am Sonntag den 20.01.2019 habe ich mich dann doch dazu durchgerungen, meine Seite auf ein CMS umzustellen, und mich erstmal für Hugo entschieden. Hugo ist schnell heruntergeladen und auch installiert und danach sofort einsatzbereit. Und das war es dann auch erst mal. Die schwarze Kommandozeile, mit der ich als alter DOS Veteran bestens vertraut bin, wartet dann erst mal auf Befehle. Ich hatte mir keine fertige Vorlage heruntergeladen und installiert. Zum einen war keine dabei, die zu meiner Seite passte, zum anderen wollte ich mir bewusst eine eigene erstellen, um Hugo besser kennenzulernen und anschließend eine zu haben, die genau auf meine Bedürfnisse zugeschnitten ist.

An den folgenden Wochenenden habe ich mir alle YouTube Videos von Mike Dane zu Hugo angeschaut, die übrigens (nicht nur zu Hugo!) sehr empfehlenswert sind. Ich habe mich auf der Hugo Homepage durch die Dokumentationen gewühlt, im Infoforum nach einem konkreten Problem, das ich hatte, gesucht und bin dort auch aber erst nach langer Zeit fündig geworden und habe Stunden damit verbracht, ein Layout zu erstellen, um meine Seite zukünftig über Hugo zu erstellen. OHNE nennenswerte Ergebnisse!

Möglicherweise liegt das an mir… Aber wie auch immer.

Hugo kommt für mich als CMS vorläufig nicht in Frage. Hugo ist bestimmt ein gutes CMS, sonst hätte es nicht so viele begeisterte Nutzer, aber wie ich damit arbeiten muss, um gewünschte Ergebnisse zu bekommen, erschliesst sich mir derzeit nicht.

Ich wäre zwar lieber zu einem anderen Ergebnis gekommen, aber ich bereue die Zeit, die ich mit Hugo (ich meine immer noch das CMS!) verbracht habe nicht, denn ich habe viel über Hugo und vor allen Dingen allgemein darüber wie statische CMS arbeiten gelernt.

Aber bei Hugo weiß ich immer noch nicht genau, wie ich damit arbeiten muss, damit ich das Ergebnis bekomme, was ich mir wünsche. Das hängt wahrscheinlich damit zusammen, das es sehr viele verschiedene Wege gibt, um zum gleichen Ziel zu kommen. Das hängt auch damit zusammen, dass Hugo sehr leistungsfähig und entsprechend komplex ist und sich damit Dinge umsetzen lassen, die zum Beispiel mit Jekyll nicht möglich sind.

Was mir bei der Dokumentation zu Hugo sehr fehlt ist eine einfache Schritt für Schritt Anleitung, die einem an einem simplen Beispiel zur ersten einfachen Seite beziehungsweise zum ersten einfachen Layout führt, das man dann nach und nach zu dem macht, was man haben möchte.

Die Dokumentation auf der Hugo Homepage ist als Tutorial also Einführung für Hugo Anfänger aus meiner Sicht unbrauchbar.

Einige Wochenenden vor dem Rechner zu verbringen (das Wetter war immer schlecht - zumindest das passte), ohne dem eigentlichen Ziel näher zu kommen, war doch etwas frustrierend. Der nächste Gedanke war meine Seite weiterhin von Hand zu schreiben. Bei dem Gedanken war mir allerdings auch nicht besonders wohl. In Anbetracht dessen was dort aktuell und angesichts meiner Pläne in Zukunft an Aufwand auf mich zukommen würde.

Was nun?

Ich erinnerte mich daran vor Jahren mal einen Artikel in der c’t über Jekyll ein anderes statisches CMS gelesen zu haben. Ich erinnerte mich auch daran, dass es eher für Linux konzipiert wurde, Windows offiziell nicht unterstützt wird und es unter Windows auch nicht ganz so einfach ans Laufen zu kriegen sein soll. Eher hoffnungslos bemühte ich eine Suchmaschine, um die Homepage von Jekyll ausfindig zu machen. Ich wurde fündig und fing an in der Dokumentation zu lesen und je länger ich las desto bessere Laune bekam ich. Das war und ist das, was ich gesucht hatte und inzwischen gefunden habe. Was ich dort gelesen habe, habe ich sofort verstanden.

Diesen Artikel schreibe ich nicht mit Jekyll sondern mit meinem Lieblingseditor Notepad++. Aber nachdem er abgespeichert worden ist, wird er von Jekyll sofort als HTML Datei generiert. Und zwar mit komplettem Layout und allem was ich sonst noch auf meiner Website laufen habe. Das Ziel sich bei dem erstellen von Webseiten (fast) nur noch auf den Inhalt konzentrieren zu müssen, habe ich mit Jekyll erreicht.

Am 22.03.2019 habe ich was zur Installation von Jekyll nowendig ist heruntergeladen und Jekyll installiert. Die Installation ist etwas aufwändiger als die von Hugo aber nicht wirklich schwierig. Ich habe das Step by Step Tutorial von der Jekyll Homepage durchgearbeitet (und kein fertiges Template installiert!) und mir auf diese Weise eine einfache Vorlage erstellt, die ich inzwischen so abgeändert habe, dass sie meiner “alten” Seite entspricht und die Designänderungen, die ich schon länger geplant hatte, umgesetzt. Durch diese Vorgehensweise weiß ich genau, welcher Ordner welche Dateien enthält, und wie Jekyll daraus die Dateien generiert, die später auf dem Webserver landen. Ich kann jedem nur empfehlen, die gleiche Vorgehensweise zu wählen, denn wenn man weiß, wie ein CMS funktioniert, kann man mit einem CMS auch produktiv arbeiten.

Bis jetzt bin ich von Jekyll begeistert und hoffe das bleibt so.

Einschränkend muss man sagen, das Jekyll nicht ganz so leistungsfähig wie Hugo ist. Daraus resultiert zwangsläufig die geringere Komplexität. Die Möglichkeiten, die mir Jekyll bietet, sind für meine Zwecke und wahrscheinlich auch die der meisten anderen Webmaster mehr als ausreichend.

Wenn ich mehr Erfahrungen mit Jekyll habe, werde ich darüber wahrscheinlich einen ausführlichen Bericht schreiben.

Nachtrag:

Heute ist Montag der 26.12.2022. Ich arbeite immer noch mit Jekyll an meinem kleinen Projekt. Und ich möchte Jekyll nach wie vor nicht mehr missen!
Inzwischen habe ich mich auch mit den etwas komplexeren Funktionen insbesondere der eingebauten Programmiersprache “Liquid” auseinandergesetzt.

Am Anfang wird man froh sein, wenn man mit Jekyll überhaupt die ersten HTML-Seiten generiert hat. Je länger man an einem Projekt arbeitet, desto umfangreicher wird es normalerweise. Damit einhergehend werden, die zu erstellenden Seiten, auch immer komplexer. Ich kann jedem nur empfehlen sich mit “Liquid” zu befassen. Die Einarbeitung kostet zwar Zeit und manchmal auch Nerven, da die Dokumentation recht spärlich ist. Aber gerade wenn man viele HTML-Seiten hat, kann einem “Liquid” unheimlich viel Arbeit ersparen.

Hat Ihnen der Artikel gefallen? Sie können ihn hier empfehlen und/oder teilen:


Die Datei wurde zuletzt aktualisiert am: 26.12.2022