Einführung

Hugo ist eine von vielen Static Website Engines, die in den letzten Jahren das Licht der Welt entdeckt haben. Im Großen und Ganzen arbeiten all diese Engines nach einem ähnlichen Prinzip. Wird ein Build-Prozess angestossen, werden aus Templates und Inhalten, meistens mit Markdown geschrieben, komplette HTML-Dateien generiert. Diese werden, vorzugsweise durch einen automatisierten Prozess, auf den Server Ihres Hosting-Providers hochgeladen.

Oder in anderen hoch-optimierten Workflows wird der Build-Prozess direkt auf dem Server angestoßen. Das ist z.B. bei Netlify der Fall.

Und in diesen Fällen kommt das größte Pfund von Hugo ins Spiel: die atemberaubende Geschwindigkeit bei der Generierung der HTML-Dateien. Hugo ist so schnell, das Änderungen oder neue Seiten genau so schnell Online erreichbar sind, wie bei einem dynamischen CMS.

Was ist eigentlich der Unterschied zwischen einem dynamischen und einem statischen System?

Wenn man sich vor Augen führt, dass beide Systeme nicht anderes machen, als HTML-Dateien zu generieren, gibt es keinen Unterschied. Ist die Datei in Ihrem Browser als Webseite sichtbar, ist es in Stein gemeißeltes HTML - nicht mehr und nicht weniger.

Warum Hugo?

Geschwindigkeit ist sicherlich nicht das einzige Kriterium für die Auswahl einer Static Site Engine. Die zugrundeliegende Programmiersprache, die Template-Engine(s), zusätzliche Plugins, Verbreitung und eine aktive Community sind sicherlich ebenfalls sehr wichtig und mögen für manchen Web-Entwickler auch ausschlaggebend sein.

Für mich ist neben der Performance, die Tatsache wichtig, dass man mit Hugo in keiner 'Dependencie Hell' schmort. Das bedeutet, dass keine zusätzliche Software auf dem Entwicklungsrechner laufen muss. Insbesondere muss keine spezielle Programmiersprache, wie Ruby oder Python, installiert werden.

Viele Ruby basierte Engines hatten große Probleme auf Macs nach einem Update auf El Capitaine. Außerdem müssen diese Systeme häufig aktualisiert werden und es kann Probleme mit unterschiedlichen Versionen einer Software auf unterschiedlichen Rechnern geben, was insbesondere in Entwicklerteams zu einigem Mehraufwand führen kann.

Zwar haben die unterschiedlichsten Package-Manager viele Probleme beseitigt oder reduziert, aber auch die müssen zuerst installiert werden.

Das ist bei Hugo alles nicht nötig. Hugo ist einfach ein ausführbares Progamm, das alles enthält was zum Betrieb nötig ist. Es kann ohne weitere Maßnahmen auf Mac OS, Linux und Windows installiert und gestartet werden.