Sitecompiler

Wie man HTML kompiliert - oder eben auch nicht

Die Geschichte

Im Leben eines jungen Mannes kommt einmal der Punkt in der er eine eigene Website will. Größer, bunter, besser als alles was es davor gab. Also ließt man sich in HTML ein, bastelt Tage herum, doch das Design kann man in die Tonne treten. Man entdeckt CSS - endlich wird's bunt - doch der Aufwand ist immernoch zu hoch. Schließlich entdeckt man PHP. Und eh man sich's versieht hat man auf seinem gemietetem Webspace für 2,99€/Monat ein drittklassiges Content-Management-System installiert welches man noch gerade so bedienen kann - von der Konfiguration und dem PHP-Error in jeder 12. Zeile mal abgesehen, dafür funktioniert aber die Integration der sozialen Netzwerke. Stolz bastelt man also Wochen daran herum bis das Kartenhaus letztlich in sich zusammenfällt.

Ich habe mich dann dafür entschieden von alledem wieder wegzugehen und etwas eigenes zu machen - man möge mir das NIH-Syndrom vorwerfen. Herausgekommen ist ein Sitecompiler welcher seit Oktober 2012 seinen Dienst verrichtet.

Funktionsweise

Das Prinzip ist weder neu noch kompliziert: Aus diversen Templates sowie den eigentlichen Artikeln selbst erstellt der Sitecompiler eine komplette Website. Dazu ließt dieser aus dem source-Verzeichnis die einzelnen Templates ein und kombiniert diese dann jeweils passend mit den dazugehörigen Artikeln. Das Ergebnis wird in das build-Verzeichnis geschrieben. Dateien wie Bilder werden dabei ignoriert und lediglich vom source in das build-Verzeichnis kopiert, ohne Modifikationen.

Ich auch, ich auch!

Bevor man loslegen kann sollte man sich die aktuelle Version des Sitecompilers herunterladen. Dazu kann man entweder einen aktuellen Snapshot aus dem Repository herunterladen oder dieses gleich komplett klonen:
git clone git://r3v0luti0n.com/sitecompiler.git

Um eine grundlegende Konfigurationsdatei zu erhalten ist ein einmaliger Start des Sitecompilers nötig:
$ cd sitecompiler
$ ./build.py

Nun kann man über die Datei build.cfg die Parameter des Sitecompilers - falls nötig - anpassen. Im Normalfall braucht man keine Änderungen vornehmen.

Was jetzt noch fehlt sind die einzelnen Templates. Diese können vom Sitecompiler automatisch generiert werden, was vor allem für den ersten Start bzw. Einstieg sehr hilfreich sein kann.

Wichtig: Der Parameter --createtemplates veranlasst den Sitecompiler dazu ohne Rückfrage den Inhalt des source-Verzeichnisses zu überschreiben!
$ ./build.py --createtemplates

Um aus den source-Dateien jetzt die Website zu generieren genügt ein einfacher Aufruf des Sitecompilers:
$ ./build.py

Die fertige Website befindet sich nun im build-Verzeichnis und kann mit einem beliebigen Browser geöffnet werden. Den Inhalt dieses Ordners kann man nun komplett auf seinen Webspace kopieren. Bei jeder Änderung des Source-Verzeichnisses muss der Sitecompiler erneut ausgeführt und der daraus resultierende build-Ordner auf den Webspace hochgeladen werden.

Das ist alles?

Ja, das ist tatsächlich alles. Es mag am Anfang etwas unbequem aussehen, wenn man das Prinzip allerdings verstanden hat und langsam die Vorteile erkennt wird man sehen, dass dieses System eigentlich ganz gut ist. Die Artikel werden in einer Mischsprache aus HTML und BB-Code-ähnlicher Syntax verfasst, die Templates bestehen ebenfalls aus diesem Code. Designänderungen müssen aufgrund der Templates nur einmalig vorgenommen werden, müssen Artikel hinzugefügt, gelöscht oder geändert werden so erfolgt dies in einfachen Textdateien die nur wenig mit HTML-Code in Berührung kommen. Dadurch erhält man letztlich 3 einzeln zu bearbeitende Komponenten: Das Design (über die CSS-Datei), das Layout (über die Templates) sowie den Inhalt (über die einzelnen Artikel). Und wer doch einmal etwas ausgefallenere Funktionen braucht kann trotzdem innerhalb der Artikel ganz normal HTML oder auch JavaScript verwenden.
Revision 1 | 2014-03-20 19:36:09
Wer bin ich? | Impressum
Copyright © r3v0luti0n