| Zola | |
|---|---|
| Basisdaten
| |
| Hauptentwickler | Vincent Prouillet |
| Entwickler | Vincent Prouillet und Mitwirkende |
| Erscheinungsjahr | 2017 |
| Aktuelle Version | 0.23.4[1] (20. August 2026) |
| Betriebssystem | Linux, macOS, Windows, FreeBSD |
| Programmiersprache | Rust |
| Kategorie | Webpublishing, Statische-Website-Generator |
| Lizenz | MIT-Lizenz (vor Version 0.22), EUPL-1.2 (ab Version 0.22) |
| deutschsprachig | ja |
| getzola.org | |
Zola (ehemals Gutenberg) ist ein freier, in Rust geschriebener Statische-Website-Generator (englisch Static Site Generator, SSG). Das Programm wird als einzelne Binärdatei ohne externe Abhängigkeiten ausgeliefert und verwendet die Template-Engine Tera.[2] Das Projekt ist nach dem französischen Schriftsteller Émile Zola benannt und steht unter der MIT-Lizenz beziehungsweise der EUPL-1.2.[3]
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.[4] Zunächst entstand als Vorarbeit die Template-Engine Tera, eine an Jinja2 angelehnte Vorlagen-Sprache für Rust.[5] Im März 2017 wurde Version 0.0.2 als erste öffentliche Version unter dem Namen Gutenberg veröffentlicht.[5]
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.[6] 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.[4] Wenige Wochen später, am 6. Dezember 2018, erschien WordPress 5.0 mit dem Gutenberg-Editor als Standard-Editor.[7]
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.[3]
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.[8] 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.[8][2] Die Kommandozeile umfasst vier Befehle: init, build, serve und check.[9]
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.[2]
Ein Plug-in-System bietet Zola bewusst nicht an; sämtliche Funktionen sind fest in das Programm integriert.[10]
Zola gehört neben Hugo (Go), Jekyll (Ruby) und Eleventy (Node.js) zu den verbreiteteren statischen Seitengeneratoren.[10] Ein wesentlicher Unterschied zu den meisten Alternativen ist die Auslieferung als einzelne Binärdatei ohne Abhängigkeiten, ein Merkmal, das Zola mit Hugo teilt.[11]
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).[12] Ein Hauptkritikpunkt gegenüber Hugo und Jekyll ist das Fehlen eines Plugin-Systems sowie eine im Vergleich kleinere Gemeinschaft.[10][11]
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.[13]
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.