Kirby-CMS

Die Version 1.0 von Kirby ging im Januar 2012 an den Start, mittlerweile ist es in Version 2.5.4 und bekommt weiter regelmäßige Updates von Entwickler Bastian Allgeier. Anders als die meisten, verwendet es keine Datenbank -die Informationen werden einfach in Text-Dateien abgelegt (Flat-File-CMS). Einen Installation ist nicht Notwendig lediglich das Endpacken und auf den Server hochladen ist erforderlich und schon kann es losgehen. Wer jedoch eine Datenbank benötigt, der kann diese auch einfach einbinden.

Für kleine Projekte mit nur wenigen Seiten ist ein WordPress Installation mit all seinem integrierten Funktionsumfang meist zu überdimensioniert. Wo WordPress mit der Standardinstallation gleich mal 20 MByte wegfrisst, da kommt Kirby leicht mit unter 5 MByte aus. Durch das verzichten auf eine Datenbank und der schlanken Größe des CMS ist es auch für sehr kleinen und kostengünstigen Webspace eine gute Wahl.

Mit einer sehr guten Dokumentation findet man auch schnell heraus wie man die Templates erstellt und befüllt, auch das erstellen von Plug-ins erweist sich für PHPler recht problemlos. Eine Übersicht der installierbaren Plugins findet sich auf GitHub. Einen Marketplace mit kostenlosen und kommerziellen Themes findet man hier.

Zur Strucktur der Text-Dateien

Ein Beispiel eines .txt-Dokuments einer Seite sieht dann zum Beispiel so aus:

title: 
Blogbeitrag 

---- 

text: Das hier ist der Text zu einem neuen *Blogbeitrag*. Er ist mit _Markdown_ formatiert und kann zum Beispiel ein Bild enthalten:

(ima​ge: bild.jpg)

----

veröffentlicht: 2016-04-01 13:37:00

Die Felder werden in einzelne Abschnitte durch „—-“ vier Bindestriche unterteilt. Es kann so auch durch die Kirbytags der Titel, der Text oder das Veröffentlichungsdatum und andere zugewiesen werden. Das einfügen eines Bildes wird im Beispiel mit einem image-Tag gefolgt vom Pfad eingebunden. Ein zu einer Textdatei gehöriges Bild wird wird dann im selben Ordner gespeichert.

Templates

Wie kommt nun der Content aus den Dateien in die Templates? Nun, das Template für eine Seite muss den selben Namen wie die Textdatei welche den Inhalt liefert tragen (bei Beispiel.txt heißt das Template also Beispiel.php). Der Inhalt einer Seite wird in das HTML-Gerüst dann per PHP eingetragen. So können mit der $page – Variable die Feldinhalte eingefügt werden.

Als Beispiele hier einige Code-Ausschnitte zum Implementieren der Inhalte.


<?= echo $page->title() ?>


<?= $page->text()->kirbytext() ?>


<?= strftime("%e. %B", strtotime($page->veröffentlicht())) ?>



Fazit: Ein nettes kleines CMS das für kleine Projekte ganz okay ist, jedoch schon einige Einschränkungen mit sich bringt. In seiner „Testversion“ ist es kostenlos und uneingeschränkt nutzbar, doch sollte auf fair-use basis dann nach dem Testen entweder eine Personal- oder eine Pro-License für 17 bzw. 89 € erworben werden.