Kirby (CMS)
Was ist Kirby?
Kirby ist ein dateibasiertes Content-Management-System (Flat-File-CMS), das von Bastian Allgeier entwickelt wurde. Im Gegensatz zu herkömmlichen Systemen benötigt Kirby in der Standardkonfiguration keine SQL-Datenbank. Alle Inhalte werden in Textdateien (meist Markdown) gespeichert.
- Philosophie: Fokus auf Schnelligkeit, Sicherheit und eine extrem saubere Benutzererfahrung (UX) für Redakteure und Entwickler.
- Technik: Basiert auf PHP und nutzt eine sehr elegante, objektorientierte API.
- Das Panel: Kirby verfügt über ein hochgradig anpassbares Administrations-Interface (das Kirby Panel), das auf Vue.js basiert.
---
Das Flat-File-Konzept
Das Hauptmerkmal von Kirby ist der Verzicht auf eine Datenbank wie MySQL.
- Speicherung: Inhalte liegen als `.txt` oder `.md` Dateien in einer Ordnerstruktur, die direkt die URL-Struktur widerspiegelt.
- Vorteile:
- Versionierung: Die gesamte Website inklusive Inhalten kann in Git versioniert werden.
- Einfaches Deployment: Ein einfaches Kopieren des Ordners (FTP/Rsync) reicht oft aus.
- Performance: Schnelle Antwortzeiten, da keine Datenbankabfragen (Queries) verarbeitet werden müssen.
- Sicherheit: Ohne Datenbank gibt es keine Angriffsfläche für SQL-Injektionen.
---
Kernkomponenten
1. Blueprints
Blueprints sind YAML-Dateien, die definieren, wie das Panel für eine bestimmte Seite aussieht. Hier legt der Entwickler fest, welche Felder (Text, Bild, Datum, Toggle) der Redakteur sieht.
2. Templates & Snippets
Kirby nutzt natives PHP als Template-Sprache. Dies sorgt für maximale Freiheit und hohe Ausführungsgeschwindigkeit, ohne dass eine zusätzliche Template-Engine erlernt werden muss.
3. Kirby API
Die API ist bekannt für ihre "verkettbare" Syntax (Method Chaining), die es erlaubt, komplexe Abfragen sehr leserlich zu schreiben: ```php $projects = $page->children()->listed()->filterBy('category', 'web');
