3 Punkte von GN⁺ 2023-09-11 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Artikel darüber, wie man „Make“ als statischen Site-Generator verwendet; das Tool gewinnt aufgrund seiner Einfachheit, Geschwindigkeit und des geringen Wartungsaufwands an Beliebtheit.
  • Der Autor Karl Bartel berichtet von seinen Erfahrungen beim Einrichten eines Blogs mit einem einfachen Skript und empfand das als befriedigender, als andere Site-Builder zu verwenden.
  • Die Grundkonfiguration besteht darin, alle Eingabedateien in einem Quellverzeichnis abzulegen, während der Verarbeitung allen HTML-Dateien einen Header hinzuzufügen und alle anderen Dateien unverändert in das Build-Verzeichnis zu kopieren.
  • Der Autor stellt Makefile-Regeln für jeden Schritt bereit, die mit make build ausgeführt werden und ein Build-Verzeichnis erzeugen, das lokal durchsucht oder auf einen Webserver hochgeladen werden kann.
  • Der Artikel behandelt außerdem, wie sich die Grundkonfiguration für verschiedene Anforderungen erweitern lässt, etwa um die aktuelle Seite anzuzeigen, Seiten aus Markdown zu erzeugen oder Komfortfunktionen hinzuzufügen.
  • Beispiele für Komfortfunktionen sind, die Site lokal mit dem integrierten Webserver von Python bereitzustellen, die Site automatisch neu zu bauen, wenn sich Dateien im Quellverzeichnis ändern, oder die Site auf GitHub Pages hochzuladen.
  • Der Autor betont die Vorteile eines eigenen statischen Site-Generators im Makefile, darunter keine seltsamen Abhängigkeiten, einfache Wartung und die Möglichkeit, ihn schnell an die eigenen Anforderungen anzupassen.
  • Ein reales Beispiel für mit diesem Ansatz erstellte Seiten ist unter https://github.com/karlb/astridbartel.de verfügbar.

1 Kommentare

 
GN⁺ 2023-09-11
Hacker-News-Kommentare
  • Artikel über die Diskussion zur Nutzung von "Make" als Generator für statische Websites
  • Ein Nutzer schildert seine persönlichen Erfahrungen damit, eine Website per Makefile zu erzeugen; das Hinzufügen von Funktionen wie News, RSS-Feeds und automatischen Listen von Forschungsankündigungen und Lehrmaterialien habe zuverlässig funktioniert
  • Der Nutzer erwähnt den Einsatz von Git-Hooks, die bei Bedarf auf dem Remote-Server, auf dem die Website gehostet wird, automatisch make aufrufen
  • Ein anderer Nutzer weist auf ein Problem dieses Ansatzes hin: Aus den Quellen gelöschte Dateien werden im Build nicht entfernt. Als Workaround wird vorgeschlagen, vor dem Neubau den gesamten Build-Ordner zu löschen, was jedoch den Zweck des Build-Systems untergräbt
  • Ein Nutzer schlägt vor, m4 hinzuzufügen, um die Flexibilität zu erhöhen, merkt jedoch an, dass dieser Ansatz für große Websites heute möglicherweise nicht funktioniert, da Mitwirkende dafür HTML-Kenntnisse benötigen
  • Ein Nutzer berichtet, wie er sich von Karls Shell-Skript "blog.sh" inspirieren ließ, um seinen eigenen minimalistischen Generator für statische Websites (SSG) namens "barf" zu erstellen
  • Ein anderer Nutzer weist darauf hin, dass man, wenn man ohnehin schon auf Github pusht, einfach die Quellen hochladen und Github das Markdown als gehostete Seiten veröffentlichen lassen kann
  • Ein Nutzer lobt, dass die meisten Entwicklerblogs, auf die er bei Hacker News stößt, RSS-Feeds haben, und erzählt von seiner Gewohnheit, den Feed zu jedem interessanten Artikel, den er liest, zu abonnieren
  • Ein Nutzer erzählt von seinen Erfahrungen damit, mit make wissenschaftliche Arbeiten zu erzeugen: Wenn eine einzelne Testdatei geändert wird, kann das die Tests ausführen, Diagramme erzeugen und damit die gesamte Arbeit neu generieren
  • Ein Nutzer argumentiert, dass make bei großen Programmen nützlich ist, die mit langsamen Compilern gebaut werden, weil es schnelle inkrementelle Rebuilds ermöglicht; bei statischen Websites, die sich schnell erzeugen lassen, könne jedoch ein Skript effizienter sein
  • Ein Nutzer schildert, wie er nach der Verwendung von Shell-Skripten zu einem Makefile wechselte und dies als passender empfand. Er erwähnt auch die Nutzung von XSLT-Templates zur Erzeugung von Seiten sowie von Indexen und Atom-Feeds
  • Ein Nutzer, der seit über 20 Jahren Linux und Shell-Skripte verwendet, aber nicht viel programmiert hat, fragt, warum make gegenüber Shell-Skripten bevorzugt wird, und berichtet von seiner Gewohnheit, nach dem Erstellen einer Website mit Zim-wiki per Skript die Hauptseite für Vorlesungen zu organisieren und zu aktualisieren