Statische Seitengeneratoren
Seit Jahren dümpelt mein Kochblog vor sich hin. Mich nervt der allgemeine Produktionsprozess:
- Ich muss mich für jedes Posting einloggen.
- Die Texte müssen in diesen komischen Editor eingegeben werden.
- Immer wieder sollten Updates in Wordpress gefahren werden, was ich schon lange nicht mehr gemacht habe.
Im Gegensatz zu diesem Blog ist mir die Kommentarfunktion bei meinem Kochblog nicht wichtig, ich könnte also auf sie verzichten. Und angesichts meiner stetig wachsenden Begeisterung für Kommandozeilen-Tools wie Grunt entwickelte sich ein Plan: ich wollte einen statischen Seitengenerator für mich finden.
Kleine Auswahl
Diese Dinger erzeugen auf dem eigenen Rechner aus Templates und Markdown-Texten statisches HTML, das ich dann auf den Server schieben kann. Nach langen Recherchen habe ich folgende Systeme ausprobiert - alle basieren auf node.js:
Das Ziel war, meine Kochrezepte in sauberen Markdown-Files zu verfassen. Das System sollte neben dem Zusammenbauen und Erzeugen der HTML-Seiten natürlich auch eine Navigation anbieten. Zusätzlich zu einer normalen Liste aller Seiten waren mir Kategorien oder Tags wichtig, schliesslich möchte ich einen zielorientierten Überblick bieten. Und genau da liegt für mich das grosse Problem.
Erste Schritte
Alle Projekte beschreiben prima, wie man die jeweilige Software mittles npm
im Terminal installiert. Die Vorgehensweise ist bei allen ähnlich. Die Leistungsfähigkeit und die Dokumentation unterscheidet alle Projekte. Docpad erscheint mir am Leistungsfähigsten, Cabin am Schlichtesten. Am charmantesten fand ich eigentlich Assemble, aber auch diese Software brachte mich nicht zu meinem Wunschergebnis.
Erster und wichtigster Unterschied sind die Dokumentationen. Cabin besitzt nur eine rudimentäre, bei den beiden anderen Projekten muss man sich alle wirklich wichtigen Infos aus vielen Quellen zusammensuchen. Es gibt zwar offizielle und umfangreiche Dokumentationen zu Docpad und Assemble, aber bei ihnen kommt man schnell an Grenzen. Also sucht man sich durch Github-Issues, angebotene Plugins oder durch Stackoverflow.
Mit allen Projekten konnte ich sehr schnell Seiten erzeugen und auch die Modifikation der Templates gelang relativ mühelos. Meine Testorgie brachte mir so den Einblick in Handlebars und eco als Template-Engines. Das war durchaus der beste Aspekt an meinen Versuchen.
Die leidige Navigation
Doch in einem Aspekt versagten alle Projekte: in der Beschreibung, wie man eine Navigation bzw. eine modifizierte Navigation einbaut. Mit modifiziert mein ich, dass ich Navigationen abhängig von Tags oder Kategorien erzeugen möchte.
Navigationen scheinen unwichtig zu sein, denn sie nehmen in den Dokumentationen eine Randstellung ein. Sie werden schlecht beschrieben und in der beschriebenen Form funktionieren sie nicht wie gewünscht. Der in der Doku von Docpad gefundene Code funktionierte nicht. Ich fand glücklicherweise ein Plugin, das auf den ersten Blcik prima funktionierte. Doch damit hatte ich leider noch keine Lösung für eine auf einen Tag konzentriere Navigation. Zudem verlinkt das Plugin auch mein Stylsheet und mein JavaScript-File.
Und all das, ohne eigene Modifikationen vorgenommen zu haben. Der beschriebene Weg, über zusätzliche Meta-Informationen brachte leider auch kein Tag-Menü zustande.
Fazit
Ich empfinde die Idee statischer Seitengeneratoren noch immer klasse. Oft benötige ich schlicht keine dynamischen Seiten, keine Datenbank. Systeme wie Kirby gehen mir deshalb nicht weit genug. Schliesslich werden damit die Inhalte erst per PHP auf dem Server gerendert. Ich möchte aber das gleiche Prinzip wie bei CSS-Präprozessoren anwenden: ich möchte Inhalte dynamisch offline zusammenstellen und statisch ausgeben. Die Inhalte sollen mit Markdown geschrieben werden. Deshalb fällt leider Dreamweaver als “lokales CMS” aus.
Ich werde die Projekte weiter beobachten, vielleicht tut sich ja etwas in näherer Zukunft. Ein wenig habe ich mich geärgert, dass ich nicht sofort alle aufgefallenen Probleme notiert und als Ticket bei den jeweiligen Github-Projekten eingetütet habe. Ich nachinein kann ich nur noch einen Bruchteil rekonstruieren.
Ich werde wohl mittelfristig doch bei Wordpress bleiben, denn noch länger möchte ich meine Zeit nicht für die Suche nach einer bequemeren technischen Lösung vergeuden.
- ← Previous
Linkfutter 20 - Next →
Endlich eine neue Wordpress-Version