Aufbau der WebSite www.ev-kirche-stlr.de

Die wesentlichen Inhalte der einzelnen HTML-Seiten stehen in den Dateien _name.html; (z.B. _index.html). Im Browser wird die Datei name.html (z.B. index.html) angezeigt. Die Datei name.html, die zusätzlich Rahmen und Navigationselemente enthält, wird aufgrund der Beschreibung in _SITE.TXT generiert. Die Generierung erfolgt mit einem Java-Programm. Um die Generierung durchzuführen, muss deshalb eine Java-Runtime-Umgebung installiert sein.

Die Generierung erfolgt mit dem Kommando:

java -classpath ./WebSite.jar de.vielsack.WebSite.Generator
im Homeverzeichnis.

Zum Verständnis der folgenden Erläuterung empfiehlt es sich, parallell zu der Beschreibung eine bereits existierende _SITE.TXT zu betrachten.

Die Datei _SITE.TXT enthält folgende Elemente:

DEFINE
leitet die Definition von Variablen ein. In dieser Site gelten hierbei folgende Konventionen:
type legt den Typ einer Seite fest:
reference0 Index-Seite ohne weitere Seiten (Name)
reference0a Index-Seite für mehren Seiten (Name...)
reference1 Seite auf Unterebene (weiß hinterlegt)
title Titel einer Seite ("Ev. Kirche St. Leon-Rot - "wird vorangestellt)
navigation Text für den Navigationsknopf
author Name des Autors
mail Mailadresse des Autors ( "@Ev-Kirche-StLR.de" wird angehängt)
neben den frei definierten Variablen gibt es auch einige spezielle:
file bezeichnet die aktuelle Datei
home zeigt auf das Home-Verzeichnis

TEMPLATE
lädt Template-Dateien die bei der Generierung der Seiten benutzt werden. Templates stehen im Verzeichnis template

EXPAND
wird auf oberster Ebene benutzt, um Dateien zu generieren, die nicht in der Navigation erscheinen. Nach EXPAND steht hierbei eine Dateimaske (Wildcards '*' und '?' sind zulässig) ein Template und ein Suffix. EXPAND bewirkt, dass für alle Dateien, die der Dateimaske entsprechen gemäß dem angegebenen Template eine Datei generiert wird. Der Dateiname der neuen Datei wird erzeugt, indem an den ursprünglichen Dateiname der angegebene Suffix (zusätzlich) angehängt wird. Dies wird insbesondere zum Generieren der JS-Script-Dateien bei den Terminen und Witzen benutzt.

LAYOUT
legt das Layout der Seite fest. Hierbei definiert EXPAND die Seiten, die erstellt werden, sowie das zu verwendende Template. Hier steht i.d.R. %file% als Dateiname (was bei der Generierung durch den Dateiname der Seite ersetzt wird) und z.B. table als Name des Templates.

NAVIGATION
Legt das Layout der Navigationsleiste fest. Hierbei definiert EXPAND den Dateinamen für die Navigation, sowie die Namen der Templates für Anfang, jeden Navigationsknopf und das Ende der Datei.

LINK
Legt fest, dass an dieser Stelle ein Unterverzeichnis eingebunden wird und dort eine weitere Seitenbeschreibung abgearbeitet wird. Der Name des Verzeichnisses und der Beschreibungsdatei werden angegeben.

FILE
Hier wird (endlich) eine echte Seite erzeugt. Der Dateiname wird festgelegt. Nun wird aufgrund der aktuellen Vorgaben von Layout die Seite generiert.

Strings
Strings werden durch einfache (') oder doppelte Anführungszeichen (") begrenzt. Werden einfache Anführungszeichen verwendet, wird der String unverändert verwendet. Bei doppelten Anführungszeichen werden Umlaute durch ihr HTML-Äquivalent ersetzt. Bei der Definition von Variablen sollten in der Regel doppelte Anführungszeichen verwendet werden.

Templates
Das Seitenlayout wird im wesentlichen durch Templates beschrieben. Hierbei handelt es sich um HTML-Fragmente, die sich in verschiedenen Dateien im Verzeichnis templates befinden. Die Namen der Templates werden durch spezielle HTML-Kommentare festgelegt. Der Kommentar

<!--$name$-->
legt den Anfang des Templates name fest. Die Verwendung von Fragmenten in verschiedenen Templates kann durch eine include-Anweisung erreicht werden. Die include-Anweisung hat die Form:
#include dateiname
Die Templates können Variablen enthalten. Die Variablen haben die Form:
$name$
Bei der Generierung werden die Variablen durch ihren aktuellen Wert ersetzt. Zusätzlich zu diesen "einfachen" Variablen gibt es noch zwei spezielle Konstrukte. $body:name$ wird durch den Body der HTML-Datei _name ersetzt. $date:name$ wird durch das Änderungsdatum der Datei _name ersetzt.

Stylesheets
Fonts, Farbe, Hintergründe und ähnliches werden nach Möglichkeit über Style-Sheets gesteuert. Die Styles-Sheet-Dateien (bislang ist es nur eine) liegen im Verzeichnis styles.

Soweit die Theorie, wie geht es nun praktisch?

Um die WebSite zu pflegen benötigt man (fürs erste) eine lokale Kopie aller Dateien der Site. Diese Kopie muss mit der veröffentlichten Site synchronisiert werden. Beim Synchronisieren muss sichergestellt werden, dass das Änderungsdatum der Dateien erhalten bleibt.

Auf der lokalen Kopie werden die erforderlichen Dateien gepflegt. Dann wird die WebSite wie oben beschreiben generiert und schließlich werden geänderte Dateien publiziert. Damit man leichter sieht welche Dateien verändert wurden, werden die Dateien beim Generieren nur übeschrieben falls sich diese tatsächlich ändern.

Typische Szenarien:

Ändern einer einzelnen Datei:
Hier genügt es


Hinzufügen einer Datei auf Unterebene:
Hier genügt es


Änderungen an Styles:
Hier genügt es:


Änderungen an Templates oder SITE.TXT im Home-Verzeichnis:


Grundsätzlich kann immer wie folgt vorgegangen werden:


Tools:
Das Editieren der Seiten erfolgt direkt in HTML. Als HTML-Referenz hat sich SELFHTML bewährt. Getestet wurden die Seiten mit aktuellen Versionen von IE, Netscape und Opera. Für das Editieren der Seiten wurde Uli Meybohms HTML Editor verwendet. Grundsätzlich kann, insbesondere für die Pflege der Inhaltsdateien (_name), auch jeder andere Editor verwendet werden. Beim Generieren wird nur der HTML-Body (das was zwischen <body> und </body> steht) berücksichtigt. Beim Erstellen diesen Seiten ist darauf zu achten, dass keine festen Seitenbreiten festgelegt werden. Die Seitenbreite soll sich an den Browser anpassen.