Perl Homepage-Generator

Der Homepage Generator ist ein einfache Perl-Script mit dem man auf sehr einfachem Wege seine eigene Homepage erstellen und auch pflegen kann.

Auch diese Homepage ist mit diesem Tool erstellt worden. Das Perl-Script läßt sich über zwei XML-Datei konfigurieren. In der einen XML-Datei wird die Struktur der Navigation der Homepage angegeben, in der anderen XML-Datei werden die Farbeinstellungen und andere Einstellungen gemacht.

Ziele bei der Programmierung dieses Tools waren:

  • Das Tool sollte einfach zu bedienen sein
  • Programmierung von HTML-Seiten sollten zu 90% automatisiert werden (Bei geringen gestalterischen Ansprüchen an die Inhaltsseiten, kann der HTML-Code zu 100% generiert werden.)
  • Durch das Tool sollte es möglich sein, sich auf die Inhalte der Seite zu konzentrieren und nicht auf die Programmierung der Seite
  • Die Erweiterung und Pflege sollte einfach sein. (z.B. das Einfügen von neuen Navigationsleisten, Änderung der Farben, kleine Änderungen am Design)

Voraussetzungen

  • Perl 5.8.2
  • Perl Package: XML::Simple
  • Perl Package: XML::LibXML
  • Perl Package: File::Copy

Ich habe den Homepage Generator bis jetzt nur unter Cygwin getestet. Unter Linux sollte er aber auch problemlos laufen. Zu Windows kann ich nichts sagen.

Banner

Im oberen Bereich der Homepage erscheint an Banner. Dieser kann frei gestaltet werden. Muß aber den Namen banner.gif haben und in dem gleichen Verzeichnis wie das Perl-Script liegen.

Konfigurationsdateien

Folgende Datei werden zur Konfiguration benötigt:

  • Homepage.xml
  • Config.xml

Homepage.xml

In der Datei Homepage.xml wird die Navigationsstruktur der Homepage festgelegt. Eine solche Konfigurationsdatei kann folgendermaßen aussehen:

01: 02:<Homepage> 03: <TopNavigation id="News"> 04: <Description>News</Description> 05: <LeftNavigation id="index" type="Main"> 06: <Description>News</Description> 07: <Content>news_index.html</Content> 08: </LeftNavigation> 09: <LeftNavigation id="Archiv"> 10: <Description>Archiv</Description> 11: <Content>news_archiv.html</Content> 12: </LeftNavigation> 13: </TopNavigation> 14: <TopNavigation id="Publications"> 15: <Description>Publikationen</Description> 16: <LeftNavigation id="Overview"> 17: <Description>&#220;berblick</Description> 18: <Content>publications_overview.html</Content> 19: </LeftNavigation> 20: <LeftNavigation id="University"> 21: <Description>Uni</Description> 22: <Content>publications_university.html</Content> 23: </LeftNavigation> 24: <LeftNavigation id="Misc"> 25: <Description>Sonstiges</Description> 26: <Content>publications_misc.html</Content> 27: </LeftNavigation> 28: </TopNavigation> 29:</Homepage>

Mit dieser Konfigurationsdatei lassen sich zwei Einträge in der oberen Navigationsleiste (TopNavigation)erzeugen (siehe Konfiguration Zeile 03 und 14). Jedem dieser Einträge sind eine Beschreibung (Description) und weitere Unternavigationspunkte zugeordnet. Mit den XML-Elementen LeftNavigation lassen sich diese Unternavigationspunkte erzeugen (siehe z.B. Zeile 05 und 09). Jedes LeftNavigation-Element besitzt eine Beschreibung (Description) und ein Content-Element. Das Content-Element enthält einen Verweis auf eine externe HTML-Datei, die den Inhalt enthält, der beim Auswählen von LeftNavigation erscheinen soll. Diese referenzierte HTML-Datei kann nur aus einfachem Text bestehen oder aber weitere HTML-Tags enthalten (Texthervorhebung, Tabellen, usw. sind möglich). Eine Besonderheit ist Zeile 05. In ihr gibt es das Attribut type, mit dem man die Einstiegsseite der Homepage festlegt. D.h. die angegebene Content-Seite wird die Einstiegsseite für die Homepage.

Anmerkung: Jedes Navigationselement muß eine eindeutige id haben, die keine Leerzeichen und Sonderzeichen enthalten darf. Außerdem dürfen die ids nicht mit einer Zahl beginnen.

Config.xml

In der Datei Config.xml werden Farbeinstellungen, URL und Homepage-name für die Homepage festgelegt. Eine solche Konfigurationsdatei kann folgendermaßen aussehen:

01:<Homepage> 02: <Config> 03: <url>www.hameister.de</url> 04: <bodyBackgroundColor>#d7ffcf</bodyBackgroundColor> 05: <bannerBackgroundColor>#baffac</bannerBackgroundColor> 06: <firstLineColor>#1db000</firstLineColor> 07: <topNavigationBackgroundColor>#2aff00</topNavigationBackgroundColor> 08: <secondLineColor>#1db000</secondLineColor> 09: <leftNavigationColor>#97ff83</leftNavigationColor> 10: <leftNavigationLineColor>#22cd00</leftNavigationLineColor> 11: <separator>::</separator> 12: <homepageTitel>Joern Hameister's Homepage</homepageTitel> 13: </Config> 14:</Homepage>

Download

Das Archiv enthält das Perl-Skript zum Erzeugen der Homepage, eine Config.xml und eine Beispiel Homepage.xml-Datei.

Starten des Programms

Das Programm wird folgendermaßen gestartet:

./homepageGenerator [HOMEPAGE].xml [CONFIG].xml [DESTINATION_DIR]

Für die mitgelieferten Beispieldateien sieht das folgendermaßen aus:

./homepageGenerator Homepage.xml Config.xml ./generatedHP

TODO

Folgende Dinge müssen noch gemacht werden:

  • Dokumentation erweitern
  • Verschiedene Farbschemas (Config.xml's)
  • Für jeden TopNavigationspunkt ein eigenes Farbschema.
  • Ein XML-Schema für die beiden XML-Dateien erstellen, damit eine Validierung möglich ist.