Ressourcen schonend statische Webauftritte generieren

Drei neue Generatoren erzeugen dank Rust sehr effizient statische Websites aus Markdown.

Es gibt eine Reihe von älteren Webseiten Generatoren, die in Rust geschrieben sind:

Wer lernen möchte, wie ein einfacher Generator in Rust geschrieben wird, findet hier einen interessanten Blog Post dazu.

Eine Herausforderung für in Rust geschriebene HTML Generatoren ist, dass sie eine Template Engine brauchen, die zur Laufzeit Content mit Layouts zu HTML Seiten übersetzt.

Der Nachwuchs🔗

Die aktuelle Generation der in Rust implementierter Website Generatoren hat von der Ergonomie und Einfachheit von Nextjs, Eleventy und Gatsby - alle in Javascript geschrieben - gelernt, so scheint es.

Pylon, 2022🔗

Pylon ist ein statischer Website Generator, der sich leicht integrieren lässt in bestehende Shell Skripte. Folgende spezielle Features sind implementiert:

  • Link Checker
  • Datenverzeichnisse in die Website kopieren
  • Globale Metadaten können allen Seiten zugänglich gemacht werden.
  • Asset im gleichen Verzeichnis wie der Inhalt
  • frei definierbare Shortcodes zum Gebrauch im Markdown

Pylon verwendet wie Zola mit Tera implementierte Jinja Templates.

Oinky, 2021🔗

Oinky hat verwendet als Template Handlebars und übersetzt Markdown Dateien in eine statische HTML Website.

Die Besonderheit von Oinky ist die DSL welche das erstellen von Datenstrukturen erlaubt, die dann mit Handlebars verarbeitet werden können.

Blades, 2020🔗

Blades ist schnell und reduziert auf die wesentlichen Features. Mit Ramhorns verwendet Blades eine schnelle, Mustache basierte Template Engine, ohne if, else Ausdrücke oder Schleifen. Blades behauptet, 10 Mal schneller zu sein als das schnelle Hugo, liefert aber keine Benchmarks als Beweis.

Wie bei Zola werden auch Themes unterstützt, doch die Menge der Stilvorlagen hält sich verglichen mit Hugo in Grenzen.

Fazit🔗

Wer Zehn- bis Hunderttausende von Markdown Dateien verarbeiten möchte, kann mit den hier vorgestellten Generatoren viel Zeit und vielleicht auch Geld sparen bei einer hochfrequenten Aktualisierung von statischen Websites.