Kirby (CMS)

Aus ArtisanCommerce Dokumentation

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');