Eine Vorlage für eine Webpräsenz haben wir am Ende des letzten Hauptkapitels mit unserem Vorlagensystem kennengelernt. Dieses können wir relativ einfach noch ein wenig erweitern.
Als Vorüberlegung trennen wir eine Webseite aus der Webpräsenz in verschiedene Sektionen auf. Bisher haben wir die Unterseiten seiten_vorlage.html, kopf.html und menu.html. Innerhalb der Seitenvorlage haben wir noch die Sektion für den Inhalt.
Die Idee für unser Mini-Generator ist nun folgende: Unsere Vorlage wird jetzt per Platzhalter (%%menu%% und %%inhalt%%) mit dem automatisch generierten Menu und den Inhaltsdateien (index.source, ….source) befüllt. Der Kopf ist in die Vorlage integriert. Außerdem können beliebige Platzhalter (%%Seitentitel%%, %%Autor%%) mittels der Datei ersetzen.liste ersetzt werden.
Das Generieren des Menüs (cms/_menu.template) und das Ersetzen der Platzhalter übernimmt ein kleines Programm (Windows: generate.bat / Linux: generate.sh). Wobei das Windows-Programm das Linux-Programm mittels einer Windows-Bash einfach aufruft. (Beispiel Generate)
Die eigentlichen Inhalte bekommen jeweils eine eigene Datei mit der Endung .source im Unterverzeichnis cms. Außerdem wird jeder Source-Datei eine Ziffer vorangestellt, die die Reihenfolge des Menüs vorgibt (0index.source, 1anfahrt.source, 2…). Das System verwaltet also höchstens zehn Seiten.
Unser Projekt sieht dann so aus:
Der Vorteil des Mini-CMS besteht darin, das immer alles neu generiert wird - also sich selbst Änderungen in der Datei cms/vorlage.template in den generierten Seiten auswirken. Außerdem müssen sie sich nicht um das Menü kümmern. Darin liegt dann auch gleich der größte Nachteil. Mehr als zehn Seiten lassen sich nicht verwalten und es gibt kein hierarchisches Menü.
Übung:
Laden sie sich das Archiv mit dem Beispiel herunter. Spielen sie damit herum.
Hagen (HTML-Generator) funktioniert nach dem selben Prinzip, ist aber um Größenordnungen komplexer. Es unterstützt den Webentwickler bei nahezu alle Aufgaben.
Zu Hagen existiert ein eigenes Handbuch.
Übung:
Laden sie sich das Archiv mit dem Beispiel herunter. Spielen sie damit herum.