![]() |
|
![]() Druckversion |
![]() Dann kennen Sie wahrscheinlich das Problem, alle Seiten im gleichen Design erscheinen zu lassen. Ein Preprozessor nimmt Ihnen dabei unangenehme Arbeit ab!
Wenn Ihre Homepage aus mehreren Seiten mit einheitlichem Design besteht,
dann hat man meistens Probleme, falls man etwas am Design ändern möchte. Denn dann
muß man diese Änderung an allen Seiten vornehmen.
Mit GTML kann man solche Probleme geschickt umgehen, indem man sich nur eine Seite als eine Art Gerüst aufbaut, und in dieses Gerüst dann die jeweiligen Texte einbindet. Will man nun etwas am Design ändern, so gibt man diese Änderung nur beim Gerüst ein, GTML ändert daraufhin alle Seiten entsprechend. Will man beispielsweise eine Seite haben, die folgendermaßen aufgeteilt ist,
dann generiert man wie gewohnt eine HTML-Seite, benennt Sie aber mit der Endung ".gtml" statt ".html"
Anstatt den Text direkt hinzuschreiben wird nun eine beliebige Datei an dieser Stelle eingefügt.
#include "textdatei.txt"Es ist dabei darauf zu achten, daß dieses Makro direkt am Zeilenanfang steht. Leider interpretiert GTML das Makro nicht, wenn Leerzeichen davor sind. Dies ist dann ärgerlich, wenn man der Übersicht halber die Zeile einrücken will. Um nun die HTML-Datei zu erzeugen, reicht ein >> gtml Beispieldatei.gtml(vorausgesetzt das Programm "gtml" befindet sich im $PATH).
GTML erlaubt es auch, innerhalb eines Textes Variablen zu definieren. Der Befehl #define MAUER rotOrdnet der Variable "MAUER" den Wert "rot" zu. Nützlich ist dies z.B., wenn Sie in einem längeren Dokument nicht jedesmal Ihre e-Mail Adresse ausschreiben möchten. Dann definiert man einmal am Anfang des Textes die Variable "EMAIL" und schreibt dann im Text statt der eigentlichen Adresse nur: <<EMAIL>>GTML ersetzt dies dann mit der e-Mail Adresse. Es ist auch möglich, abhängig von dem Wert einer Variablen, bestimmte Texte einzufügen. #if <<EMAIL>> == [email protected] #include "NurFürMich.txt" #endifIn diesem Beispiel wird nur dann der Text "NurFürMich.txt" eingefügt, wenn die Variable "EMAIL" den Wert "[email protected]" hat. Ansonsten wird der Text nicht eingefügt. Außerdem existieren noch weitere Versionen von Vergleichen, wie z.B. "!=" zur Überprüfung auf Ungleichheit. Auch andere verbreitete Bedingungen wie #elsif, #ifdef usw. werden erkannt. GTML soll nach Anleitung auch verschachtelte Bedingungsschleifen akzeptieren. In der Praxis klappte dies aber nicht immer. Dieses Problem umgeht man, indem die innere Bedingung in eine weitere Textdatei exportiert und per #include-Befehl eingebunden wird. Dies steigert auch gleichzeitig die Übersichtlichkeit. Besonders einfach ist es, sich seine eigenen Funktionen zu definieren. Ein kurzes #define Home(name,url) Die Homepage von name befindet sich unter <a href="url>url</a>am Anfang der Datei bewirkt nun, daß der folgende Abschnitt <<Home(Mr.X,http://www.linuxnetmag.de)>>innerhalb des Dokumentes vom Preprozessor durch
Die Homepage von Mr.X befindet sich unter http://www.linuxnetmag.de ersetzt wird.
Bisher haben wir nur erklärt, wie man die Funktionen von GTML nutzt, aber noch nicht das eigentliche
Ziel, wie man eine Homepage mit mehreren Seiten verwalten kann.
Stattdessen wird bei dem ersten Beispiel aus "Datei.gtml" die Datei "Datei-test1.html". In "Datei.gtml" muß nun statt des gewünschten Textes ein Eintrag in der Form #include "<<TEXT>>"stehen. Damit wird je nach der Variablen "TEXT" definierte Text eingefügt. In den GTML-Seiten kann nun auch statt des Seitentitels die Variable <<TITLE>> benutzt werden. Ähnliches wird im Beispiel auch für die Benutzung von Suchbegriffen für Suchmaschinen benutzt. In der Projekt-Datei hat mein einen besseren Überblick über alle zu erzeugenden HTML-Seiten und kann dort die Einträge besser editieren, als in jeder Seite einzelnd. Durch den Befehl >> gtml Projekt.gtpwerden die HTML-Seiten dann generiert. Mit diesem kleinen Exkurs in GTML sind aber noch lange nicht alle Möglichkeiten dieses Programms ausgeschöpft. Besonders interessant ist die Fähigkeit, Perl-Programme vom Preprozessor ausführen zu lassen und damit noch differenzierter HTML-Seiten zu generieren. Somit ist es z.B. möglich, je nach Wochentag, eine andere Hintergrundfarbe für seine Seiten zu wählen. Aber es gibt auch sinvollere Anwendungsmöglichkeiten.
Link
Platz für Kommentare & Fragen:
|
|