Stacey Überblick zur detailierten Dokumentation
Stacey ist ein CMS zur Erstellung dynamischer HTML-Seiten.
Das Projekt zielt auf zwei zentrale Grundsätze ab:
- die Trennung von Textinhalt und sonstigen Bestandteilen der Seite
- der Vermeidung von php-artigem Code in den Templates
Diese werden direkt in den Verzeichnissen /content
und /templates
abgelegt.
Stacey verarbeitet alle dynamischen Teile der Webseite wie
- Breadcrumbs
- Navigationslisten
- Bilderzusammenstellungen
- Gemeinsame Bestandteile
Stacey verfügt über eine einfache Templatesprache und ein Partialsystem. Mit Hilfe dieser beiden Bestandteile hat der Nutzer vollständige Kontrolle über den HTML-Code, der erzeugt wird.
Stacey stellt einige einfache Templates im Portfolio-Stil bereit, um dem Anwender einen ersten Eindruck über die Funktionsweise des Systems zu vermitteln. Stacey ist jedoch dank seiner Flexibilität in der Lage, Websites von beeindruckender Flexibilität zu erzeugen.
Einsatz
Da Stacey das Dateisystem zur Speicheurng und Verwaltung der Daten nutzt, ist das System innerhalb kürzester Zeit einsatzbereit. Außerdem ist PHP beim Webhosting derart weit verbreitet, dass eine auf Stacey basierende Website sehr kostensparend bei nahezu jedem Webhoster erfolgen kann.
Caching
Da das Auslesen des Dateisystems bei größeren Websites zu Performanceeinbußen führen kann, nutzt Stacey eine Kombination von dateibasiertem Caching und E-Tag-Headers. Dadurch wird sichergestellt, dass die einzelnen Seiten so schnell wie möglich geladen werden. Das Cache-Sytem so intelligent, dass der Cache nur dann erneut wird, wenn der Inhalt verändert wurde.
600 Zeilen Code
Der gesamt Code von Stacey umfasst etwa 600 Zeilen. Daher ist es nicht allzu schwierig, diesen Durchzuarbeiten, um die Funktionsweise des Systems zu verstehen und es an die eigenen Zwecke anzupassen.
Das Projekt wird auf http://github.com/kolber/stacey bereitgestellt. Man muss sich also nicht scheuen, den Code durchzusehen, Verbesserungen, vorzuschlagen, eigenen Varianten zu erstellen oder (vermeintliche) Fehler zu beheben.