Die Konfiguration von HTMLFee erfolgt durch eine parameterbasierte Konfigurationsdatei.
In dieser Beschreibung werden die folgenden Begriffe verwendet:
htf.php
.Die Konfiguration von HTMLfee erfolgt durch eine Datei namens
htf.kfg. Diese enthält Einstellungen zur Generierung der Webseiten
sowie globale Optionen und liegt im Quellverzeichnis des Internetauftritts,
also normalerweise im Hauptverzeichnis. Wenn die Datei nicht vorhanden ist,
nimmt HTMLfee die Standardeinstellungen an. Pfadangaben sind generell relativ
zur Konfigurationsdatei.
Die Konfigurationsparameter werden in der Form "name = wert" angegeben. Bei den Parameternamen wird Groß- und Kleinschreibung nicht unterschieden. Zeilen, die mit einem Strichpunkt (";") beginnen, sind Kommentare und werden nicht ausgewertet.
Wichtig: Der letzte Eintrag in der Konfigurationsdatei muss mit einem Zeilenende-Zeichen (Eingabetaste) abgeschlossen sein, ansonsten wird er nicht ausgewertet (Bug in PHP). Um dies sicherzustellen, empfiehlt es sich, als letzte Zeile in der Konfigurationsdatei grudsätzlich einen Kommentar, beispielsweise
;Ende
zu notieren.
Das Quellverzeichnis enthält die HTML-Quelltexte für die Webseite. Per Voreinstellung ist dies das Hauptverzeichnis. Bei größeren Projekten kann es sinnvoll sein, die Quelltexte der Übersichtlichkeit halber in einem Unterverzeichnis zu verwalten.
Das Quellverzeichnis wird durch den Ort der Haupt-Konfigurationsdatei angegeben. Wenn das Quellverzeichnis ein Unterverzeichnis ist, muss die Konfigurationsdatei also dort abgelegt werden. Die Webseiten werden aber in jedem Fall ins Hauptverzeichnis generiert.
Beispiel:
Homepage/
index.php
Seite 1.php
_quellen/
htf.kfg
index.html
Seite 1.html
Per Voreinstellung sehen Sie auf jeder Webseite dieselbe Navigation (Hauptnavigation). Daneben können Sie auch Unterbereiche anlegen. Ein Unterbereich ist ein Unterverzeichnis mit einer eigenen Navigation, die nur die Seiten dieses Unterverzeichnisses enthält. Um einen Unterbereich anzulegen, legen Sie in dieses Unterverzeichnis eine (notfalls leere) Konfigurationsdatei htf.kfg.
Achtung: in diesem Fall muss unbedingt eine Haupt-Konfigurationsdatei vorhanden sein!
Beispiel:
Homepage/
htf.kfg
index.html
Unterbereich/
htf.kfg
index.html
Seite 1.html
Folgendes geht also nicht, in diesem Fall würde die htf.kfg als
Haupt-Konfiguration interpretiert werden:
Homepage/
index.html
Unterbereich/
htf.kfg
index.html
Seite 1.html
Allgemeine Konfigurationsparameter beginnen mit " htf." und
werden in der Hauptkonfiguration angegeben:
htf.anmeldung = nein
htf.autostart = ja
htf.anmeldung
Gibt an, ob eine Anmeldung erforderlich ist, um das Skript bzw. die Generierung auszuführen. Mögliche Werte sind "ja" oder "nein", Standardwert ist "nein". Im normalen Betrieb auf dem Webserver sollte diese Option auf "ja" stehen.
htf.autostart
Gibt an, ob beim Aufruf einer Seite der HTMLfee-Generator gestartet werden
soll. Dafür muss die Vorlage ganz am Anfang die Variable
{htmlfee.start} enthalten.
In der Standardeinstellung sucht HTMLFee nach HTML-Dateien bis zur 2. Unterverzeichnisebene. Es generiert daraus Webseiten mit der Endung ".php" und legt diese im Hauptverzeichnis ab.
Mit der Option gen.html.Dateien können Sie die Quelldateien für die Generierung angeben:
gen.html.Dateien = datei1.html,datei2.html,dat?.html,*.html,...
Der Wert dieser Option ist eine durch Kommata getrennte Liste von Datei- bzw. Pfadnamen. Alle Pfade sind relativ zur Konfigurationsdatei. Die Dateinamen können auch Platzhalter (Wildcards) enthalten: "*" steht für eine beliebige Zeichenfolge, "?" steht für ein oder kein Zeichen. Wenn Pfadangaben mit Platzhaltern vorhanden sind, werden diese von links nach rechts expandiert, um die Liste der Dateien zu erhalten.
Die Voreinstellung für diese Option ist:
gen.html.Dateien = *.htm?,*/*.htm?,*/*/*.htm?
Um Dateien von der Verarbeitung auszuschließen, verwenden Sie die Option "gen.html.Stop":
gen.html.Stop = datei1.html,datei2.html,...
Diese Dateien werden dann auf keinen Fall verarbeitet. Sie können hier auch
Verzeichnisse angeben, in diesem Fall werden alle Dateien dieses Verzeichnisses
von der verarbeitung ausgeschlossen. Bei dieser Option können Sie keine
Wildcards verwenden. Diese Option hat Vorrang vor
gen.html.Dateien.
In der Standardeinstellung wird aus jeder HTML-Datei eine Zieldatei gleichen Namens, aber mit der Endung ".php", generiert. In der Option "gen.html.Ziele" können Sie dies ändern und für jede Quelldatei den Namen der Zieldatei angeben:
gen.html.Ziele = datei1.php,datei2.php,...
Der Wert dieser Option ist ebenfalls eine durch Kommata getrennte Liste von Datei- bzw. Pfadnamen. Alle Pfade sind relativ zum Hauptverzeichnis. Jede Zieldatei gehört zu der Quelldatei an der entsprechenden Position. Beispiel:
gen.html.Dateien = datei1.html,datei2.html,... gen.html.Ziele = ziel1.php,ab.php,...
Hier werden folgende Dateien generiert:
Die Voreinstellung für diese Option ist:
gen.html.Ziele = "{.html|.php},{*.htm|*.php}"
Anstatt eines Pfadnamens kann auch eine Regel angegeben werden. Eine Regel
steht für mehrere Zieldateien und gibt an, welche Zeichen des Namens der
Quelldatei ersetzt werden, um die Zieldatei zu erhalten. Eine Regel hat die
Form "{muster|ersatz}", außerdem muss der komplette Wert der
Option in Anführungszeichen gesetzt werden.
Beispiel:
gen.html.Dateien = datei1.html,datei2.html,...
gen.html.Ziele = "{}"
Hier wird der komplette Name der Quelldatei durch sich selber ersetzt, d.h. die Namen der Quelldateien werden unverändert übernommen:
Beispiel:
gen.html.Dateien = datei1.html,datei2.html,...
gen.html.Ziele = "{.html|.php}"
Hier wird die Dateiendung ".html" durch ".php" ersetzt:
Die Regeln bzw. die Liste der Zieldateien werden folgendermaßen ausgewertet: Für jede Quelldatei wird von links nach rechts ein Treffer in der Liste der Zieldateien gesucht. Wenn eine "normale" Datei, d.h. keine Regel, gefunden wird, wird diese der Quelldatei zugeordnet, aus der Liste entfernt und mit der nächsten Quelldatei fortgefahren. Wenn eine Regel nicht anwendbar ist, d.h. das Suchmuster im Dateinamen nicht vorkommt, wird die nächste Regel ausprobiert, bis ein Ergebnis geliefert wird.
Per Voreinstellung generiert HTMLfee PHP-Dateien. Diese Dateien enthalten neben dem HTML-Text auch PHP-Anweisungen für die Navigation und weitere dynamische Inhalte. Diese Art von Homepage ist nur auf einem PHP-fähigen Webserver lauffähig.
Es ist jedoch auch möglich, reine HTML-Seiten zu erzeugen. So könnten Sie z.B. die Generierung auf dem eigenen PC durchführen und die erzeugten Seiten per FTP auf den Webserver verschieben. In diesem Fall brauchen Sie auf dem Webserver keine PHP-Unterstützung.
Statische Seiten generieren Sie mit den folgenden Konfigurationseinstellungen:
htf.autostart = nein
gen.html.Aktion = "HTML|Interpreter"
gen.html.ziele = "{}"
var.navigation.index = index.html
Die restlichen Optionen können bei der Voreinstellung bleiben.
Die Aktion "HTML|Interpreter" definiert eine sog. Pipeline.
Eine Pipeline bewirkt eine Hintereinanderausführung von mehreren Generatoren,
in diesem Fall dem HTML-Generator und dem Interpreter-Generator. Der
HTML-Generator erzeugt zunächst die üblichen PHP-Dateien. Der
Interpreter-Generator führt diese Dateien aus und speichert das Resultat, nun
reines HTML, auf dem Webserver ab.
Die Option gen.html.Ziele sorgt dafür, dass die Namen der
Quell- und Zieldateien identisch sind. Die Option
var.navigation.index ist für die korrekte Erzeugung der Navigation
wichtig, da jetzt die Indexdateien nicht index.php, sondern
index.html heißen.
htf.autostart = nein verhindert, dass bei der Ausführung der
Seiten durch den PHP-Interpreter die HTMLfee-Aktualisierungsroutine abläuft und
somit eine Endlosschleife entsteht.
Die Funktion von HTMLfee beruht intern auf sogenannten Generatoren. Ein Generator ist ein Objekt, das Quelldateien in Zieldateien transformiert. Es gibt verschiedene Generatoren mit unterschiedlichen Funktionsweisen und Zielsetzungen.
Per Voreinstellung ist ein HTML-Generator konfiguriert. Der HTML-Generator sucht HTML-Dateien bis zu einer Tiefe von 2 Unterverzeichnisebenen und transformiert sie mit Hilfe einer Vorlage in Webseiten.
Jeder Generator wird in der Konfiguration durch einen eindeutigen, frei definierbaren Namen bezeichnet. Die Konfiguration eines Generators erfolgt durch die folgenden Einstellungen:
<name> steht für den Namen des Generators. Die einzelnen Einstellungen sind für den voreingestellten HTML-Generator unter Generierungseinstellungen beschrieben. Der Name des voreingestellten Generators lautet "html".
Um einen neuen Generator zu konfigurieren, notieren Sie die obigen Einstellungen mit dem neuen Generatornamen in der Konfigurationsdatei. Es müssen nicht alle Einstellungen angegeben werden. Für nicht angegebene Einstellungen werden Voreinstellungen angenommen, die unter "..." beschrieben sind.
Der HTML-Generator verwandelt HTML-Dateien mittels einer Vorlage in Webseiten. Der HTML-Generator wird folgendermaßen konfiguriert:
gen.<name>.Aktion = HTML
Der HTML-Generator benutzt eine Vorlage, um die Quelldateien zu transformieren. Die internen Links der Webseite werden korrekt auf die Zieldateien umgesetzt: Links auf Dateien mit der Endung ".html" werden zu Links mit der Endung der jeweiligen Zielseite, also normalerweise ".php".
Der Kopieren-Generator kopiert die Quelldateien, ohne sie zu verändern. Der Kopieren-Generator wird folgendermaßen konfiguriert:
gen.<name>.Aktion = Kopieren
Der Interpreter-Generator führt die Quelldateien mit Hilfe des PHP-Interpreter aus. Sein Zweck ist, aus den erzeugten PHP-Dateien statische HTML-Webseiten zu machen. Der Interpreter-Generator wird am besten in einer Pipeline zusammen mit dem HTML-Generator ausgeführt:
gen.<name>.Aktion = "HTML|Interpreter"
Aufgrund des Sonderzeichens "|" im Wert der Option muss der gesamte Wert in Anführungszeichen gesetzt werden.