Zola (Software)
From Wikipedia, the free encyclopedia
Zola (ehemals Gutenberg) ist ein freier, in Rust geschriebener statischer Seitengenerator (englisch Static Site Generator, SSG). Das Programm wird als einzelne Binärdatei ohne externe Abhängigkeiten ausgeliefert und verwendet die Template-Engine Tera.[1] Das Projekt ist nach dem französischen Schriftsteller Émile Zola benannt und steht unter der MIT-Lizenz beziehungsweise der EUPL-1.2.[2]
| Zola | |
|---|---|
| Basisdaten | |
| Hauptentwickler | Vincent Prouillet |
| Entwickler | Vincent Prouillet und Mitwirkende |
| Erscheinungsjahr | 2017 |
| Aktuelle Version | 0.22.1 (Januar 2026) |
| Betriebssystem | Linux, macOS, Windows, FreeBSD |
| Programmiersprache | Rust |
| Kategorie | Webpublishing, Statischer Seitengenerator |
| Lizenz | MIT-Lizenz (vor Version 0.22), EUPL-1.2 (ab Version 0.22) |
| deutschsprachig | ja |
| getzola.org | |
Geschichte
Vincent Prouillet begann 2015 mit der Entwicklung des Projekts unter dem Namen Gutenberg – benannt nach Johannes Gutenberg –, um die damals neu erschienene Programmiersprache Rust zu erlernen.[3] Zunächst entstand als Vorarbeit die Template-Engine Tera, eine an Jinja2 angelehnte Vorlagen-Sprache für Rust.[4] Im März 2017 wurde Version 0.0.2 als erste öffentliche Version unter dem Namen Gutenberg veröffentlicht.[4]
Im August 2018 leitete Prouillet die Umbenennung des Projekts ein, da WordPress seinen neuen Block-Editor ebenfalls Gutenberg nannte und dies die Auffindbarkeit des Projekts über Suchmaschinen praktisch unmöglich machte.[5] Am 17. November 2018 erschien die erste Version unter dem neuen Namen Zola (Version 0.5.0), die neben der Umbenennung auch deutliche Leistungsverbesserungen enthielt.[3] Wenige Wochen später, am 6. Dezember 2018, erschien WordPress 5.0 mit dem Gutenberg-Editor als Standard-Editor.[6]
Mit Version 0.22.0 (Januar 2026) wurde die Syntaxhervorhebung von Syntect auf Giallo umgestellt und die Lizenz für neuen Quellcode von der MIT-Lizenz auf die EUPL-1.2 geändert.[2]
Funktionsumfang
Zola verfolgt den Ansatz, alle wesentlichen Funktionen in einer einzigen Binärdatei bereitzustellen, sodass keine zusätzliche Laufzeitumgebung wie Ruby, Node.js oder Python benötigt wird.[7] Inhalte werden in Markdown mit TOML-Frontmatter verfasst und über die Template-Engine Tera in HTML umgewandelt.
Zum integrierten Funktionsumfang gehören unter anderem die Kompilierung von Sass/SCSS zu CSS, Syntaxhervorhebung, eine clientseitige Volltextsuche, frei konfigurierbare Taxonomien, Kurzbefehl-Vorlagen (englisch Shortcodes), Bildverarbeitung mit Unterstützung für JPEG, PNG, WebP und AVIF, automatische Erzeugung von Atom- und RSS-Feeds, Mehrsprachigkeit sowie ein Entwicklungsserver mit automatischem Neuladen.[7][1] Die Kommandozeile umfasst vier Befehle: init, build, serve und check.[8]
Zola verwendet pulldown-cmark, einen CommonMark-konformen Markdown-Parser für Rust, und unterstützt zusätzlich Tabellen, Fußnoten, Aufgabenlisten und typografische Anführungszeichen im Stil von GitHub Flavored Markdown.[1]
Ein Plug-in-System bietet Zola bewusst nicht an; sämtliche Funktionen sind fest in das Programm integriert.[9]
Vergleich mit anderen Seitengeneratoren
Zola gehört neben Hugo (Go), Jekyll (Ruby) und Eleventy (Node.js) zu den verbreiteteren statischen Seitengeneratoren.[9] Ein wesentlicher Unterschied zu den meisten Alternativen ist die Auslieferung als einzelne Binärdatei ohne Abhängigkeiten, ein Merkmal, das Zola mit Hugo teilt.[10]
In einem Benchmark von 2023 mit einer realen Website mit 50 Seiten wurde eine etwa vierfach schnellere Erzeugungszeit gegenüber Hugo gemessen (36 Millisekunden gegenüber 178 Millisekunden).[11] Ein Hauptkritikpunkt gegenüber Hugo und Jekyll ist das Fehlen eines Plugin-Systems sowie eine im Vergleich kleinere Gemeinschaft.[9][10]
Laut Prouillet war ein wesentlicher Beweggrund für die Entwicklung von Zola, dass die Template-Sprache von Hugo (Go-Templates) als wenig intuitiv empfunden wurde, während Teras Anlehnung an Jinja2 vielen Webentwicklern bereits vertraut sei.[12]