Kirby

Kirby ist ein sog. Flat-File-Content-Management-System, das vom deutschen Entwickler Bastian Allgeier und seinem Team entwickelt und vertrieben wird. Kirby ist in PHP programmiert, der Quelltext kann auf Github eingesehen werden. Vor der Veröffentlichung eines mit Kirby erstellten Webprojektes muss eine Lizenz erworben werden (aktuell € 99 netto, Stand April 2019). ACHTUNG: Studenten erhalten auf Anfrage kostenlose Lizenzen!

Kernmerkmale

Starterkit-Installation

Per SSH

Stelle eine SSH-Verbindung zu deinem Hetzner-Server her und wechsle ins Verzeichnis, in dem Kirby installiert werden soll. Du solltest mit ausreichend Vorlauf z.B. den Ordner kirby und die Subdomain kirby.deinedomain.de dafür angelegt haben.

Lade Kirby direkt über die Kommandozeile herunter. Da eine Umleitung beteiligt ist, solltest du manuell einen Zieldateinamen angeben, da wget das Kirby-Archiv sonst als index.html abspeichert. Das Kirby-Starterkit kommt in einem ZIP-Archiv und ist gute 9 MB groß:

Wenn du dir nun den Inhalt des aktuellen Verzeichnisses zeigen lässt, sollte das Kirby-Archiv zu finden sein:

Zunächst extrahieren wir das Kirby-Archiv:

Die Kirby-Installation wird dabei zunächst in das Verzeichnis starterkit-master entpackt, was für unsere Zwecke eher störend ist. Wir räumen im Anschluss also sofort auf, verschieben die Kirby-Dateien ein Verzeichnis nach oben, löschen das eigentliche Kirby-ZIP sowie das dann nicht mehr notwendige starterkit-master-Verzeichnis:

Gratuliere — du hast soeben erfolgreich die Installation von Kirby abgeschlossen! Ganz schön einfach, oder? Öffne nun deinen Browser und rufe deine Domain auf. Du solltest eine Kirby-Beispielseite sehen:

Kirby Starterkit

Per FTP

Solltest du Kirby per FTP installieren wollen, so musst du zunächst das Kirby-Archiv manuell von https://getkirby.com/try herunterladen, auf deinem lokalen Rechner entpacken (mit einem geeigneten Archiv-Programm) und schließlich den Inhalt des starterkit-master-Verzeichnisses per FTP in das Kirby-Verzeichnis deines Hetzner-Accounts hochladen. Das ist ebenfalls nicht schwierig, nimmt aber möglicherweise mehr Zeit in Anspruch als die SSH-Strategie.

Grundkonzepte

Unter der Haube

Ein Blick ins Kirby-Verzeichnis offenbart die folgende Grundstruktur:

Inhalte

Die Verzeichnisse unterhalb von content bilden das strukturelle Rückgrat deiner Website und beherbergen alle Inhalte (zur Vereinfachung wurden die Verzeichnisinhalte ab 2_trees weitgehend ausgelassen):

Frontend-Rendering

Die für das Frontend-Rendering zuständigen Templates befinden sich im Verzeichnis site/templates:

Templates sind mit PHP angereicherte HTML-Dateien. Die PHP-Teile sprechen die umfangreiche Kirby-API an und bestücken das HTML dynamisch mit den Werten der Inhalte:

Das Panel

Das optionale Kirby-Panel bietet eine browserbasierte Administrationsoberfläche für Inhalte. Es kann unter dem Pfad /panel aufgerufen werden (z.B. https://kirby.meinedomain.de/panel). Beim ersten Aufruf ist das Panel noch nicht installiert:

Installation des Kirby-Panels

Zum Schutz vor unerlaubtem Zugriff muss die Panel-Installation zunächst freigeschalten werden. Öffne dazu die Konfigurationsdatei site/config/config.php und ergänze die Option panel.install im Konfigurations-Array. Deine Konfiguration sollte nun so aussehen:

Sodann lässt sich das Panel erfolgreich aufrufen und installieren:

Panel-Installation

Lege dir persönliche Daten fest, mit denen du künftig den Administrationsbereich nutzen wirst. Ab jetzt kannst du das Panel zur Bearbeitung deiner Inhalte nutzen:

Content-Redaktion mit dem Kirby-Panel

Template-Anpassung

Einfache Anpassungen an Templates sind recht einfach zu bewerkstelligen. Als beispielhafte Fingerübung wollen wir eine Autorenangabe in das Template für Notizen integrieren.

Wechsle im Panel in die Bearbeitungsmaske einer Notiz. Du siehst rechterhand, dass ein Auswahlfeld für den Autor zur Verfügung steht. Im Frontend wird der Autor aber nirgends genutzt. Wähle hier zunächst einen Autor:

notiz-autor

Notizen werden über das Template site/templates/note.php gerendert. Öffne dieses Template in deinem PHP-Editor (z.B. PhpStorm) und erfasse zunächst den Aufbau:

Integriere dann an geeigneter Stelle Code wie den folgenden, um eine Autorenangabe anzuzeigen (vielleicht direkt nach der Überschrift?):

Anlegen einer neuen Seite

Das Anlegen einer neuen Seite erledigst du am besten ebenfalls über das Panel. Wechsle zur Notizübersicht und nutze die Schaltfläche "Hinzufügen".

Anlegen einer neuen Seite bzw. Notiz

Veröffentlichen eines Entwurfs

Blueprints: Vorlagen fürs Panel

Die Auswahl und Anordnung der Felder im Panel werden über sog. Blueprints gesteuert. Blueprints werden als YAML-Dateien verfasst und im Verzeichnis site/blueprints/pages gespeichert. Wirf einen Blick in den Blueprint für Notizen (note.yml) und studiere die Angaben.

Aufgabe

  1. Ergänze an geeigneter Stelle im Blueprint ein zusätzliches Feld für die Angabe einer Kurzzusammenfassung für die Notiz (Tipp: der type dieses Felds könnte z.B. text oder textarea sein). Prüfe, ob deine Änderungen im Panel sichtbar werden.
  2. Ergänze im Notiz-Template ein geeignetes Rendering für die Kurzzusammenfassung. Trage bei einer Notiz eine Zusammenfassung ein und prüfe, ob die Ausgabe im Frontend erscheint.