Tutorial: Verwendung von Blueprints in Kirby

Einleitung

In diesem Tutorial zeigen wir Dir, wie Du Blueprints in Kirby verwenden kannst, um flexible und mächtige Content-Modelle für Deine Webseiten zu erstellen. Kirby ist bekannt für seine Anpassungsfähigkeit und einfache Handhabung, und Blueprints spielen dabei eine zentrale Rolle. Mit Blueprints kannst Du festlegen, wie Inhalte strukturiert und dargestellt werden. Lass uns gemeinsam in die Welt der Blueprints eintauchen!

Einführung in Blueprints

Blueprints sind YAML-Dateien, die beschreiben, wie der Inhalt einer Seite im Admin-Panel organisiert ist. Sie definieren die Felder und Layouts, die Du zum Erstellen und Bearbeiten von Inhalten benötigst. Blueprints befinden sich im site/blueprints-Verzeichnis Deines Kirby-Projekts.

Ein einfaches Blueprint erstellen

Beginnen wir mit einem einfachen Beispiel. Erstelle eine Datei namens default.yml im site/blueprints-Verzeichnis. Diese Datei definiert ein einfaches Blueprint für eine Standardseite.

title: Standardseite

sections:
  content:
    type: fields
    fields:
      title:
        label: Titel
        type: text
      text:
        label: Text
        type: textarea

In diesem Beispiel haben wir ein Blueprint mit zwei Feldern erstellt: title und text. Das Feld title ist ein einfaches Textfeld, während text ein Textbereich ist.

Blueprints für verschiedene Seitentypen

Kirby erlaubt es Dir, verschiedene Blueprints für unterschiedliche Seitentypen zu erstellen. Zum Beispiel könntest Du separate Blueprints für Blog-Posts, Projekte und Teammitglieder haben. Erstelle eine Datei namens blog.yml:

title: Blog Post

sections:
  content:
    type: fields
    fields:
      title:
        label: Titel
        type: text
      date:
        label: Datum
        type: date
      text:
        label: Inhalt
        type: textarea
      tags:
        label: Tags
        type: tags

Dieses Blueprint enthält Felder, die speziell für Blog-Posts nützlich sind, wie Datum und Tags.

Verknüpfung von Blueprints mit Seiten

Um ein Blueprint mit einer Seite zu verknüpfen, musst Du die site/blueprints/pages.yml-Datei bearbeiten. Diese Datei definiert, welche Blueprints für welche Seitentypen verwendet werden.

pages:
  template:
    default: default
    blog: blog

Erweiterte Felder und Optionen

Kirby bietet eine Vielzahl von Feldtypen, die Du in Deinen Blueprints verwenden kannst. Hier sind einige Beispiele:

Select Field

status:
  label: Status
  type: select
  options:
    draft: Entwurf
    published: Veröffentlicht
    archived: Archiviert

Checkbox Field

featured:
  label: Hervorgehoben
  type: checkbox

Structure Field

Das Struktur-Feld ist besonders nützlich, wenn Du wiederholbare Inhalte benötigst, wie z.B. Teammitglieder oder FAQ-Einträge.

team:
  label: Team
  type: structure
  fields:
    name:
      label: Name
      type: text
    role:
      label: Rolle
      type: text
    photo:
      label: Foto
      type: files

Sections und Layouts

Sections ermöglichen es Dir, Deine Inhalte im Panel zu organisieren. Du kannst verschiedene Arten von Sections verwenden, um z.B. Dateien, strukturierte Daten oder einfache Felder darzustellen.

Beispiel für eine File-Section

files:
  type: files
  layout: cards

Beispiel für eine Page-Section

pages:
  type: pages
  headline: Unterseiten
  layout: list

Erweiterte Optionen und Conditional Fields

Mit erweiterten Optionen kannst Du Bedingungen in Deinen Blueprints festlegen, um z.B. Felder abhängig von anderen Feldern anzuzeigen.

show_extra_info:
  label: Zusätzliche Informationen anzeigen
  type: toggle

extra_info:
  label: Zusätzliche Informationen
  type: textarea
  when:
    show_extra_info: true

In diesem Beispiel wird das extra_info-Feld nur angezeigt, wenn showextrainfo aktiviert ist.

Best Practices und Tipps

Modularität: Teile Deine Blueprints in kleinere, wiederverwendbare Einheiten auf. Du kannst z.B. Felder in separate YAML-Dateien auslagern und sie bei Bedarf einbinden.

Dokumentation: Dokumentiere Deine Blueprints gut. Nutze die Kommentarfunktion in YAML-Dateien, um zu erklären, warum bestimmte Felder und Optionen verwendet werden.

Versionierung: Verwende ein Versionskontrollsystem wie Git, um Änderungen an Deinen Blueprints nachverfolgen zu können.

Beispielprojekt: Ein Portfolio

Zum Abschluss erstellen wir ein kleines Beispielprojekt für ein Portfolio. Wir benötigen zwei Seitentypen: project und about.

Blueprint für Projekte (project.yml)

title: Projekt

sections:
  content:
    type: fields
    fields:
      title:
        label: Titel
        type: text
      description:
        label: Beschreibung
        type: textarea
      date:
        label: Datum
        type: date
      tags:
        label: Tags
        type: tags
      images:
        label: Bilder
        type: files
        layout: cards

Blueprint für Über mich (about.yml)

title: Über mich

sections:
  content:
    type: fields
    fields:
      title:
        label: Titel
        type: text
      text:
        label: Text
        type: textarea
      photo:
        label: Foto
        type: files
        layout: cards

Konfiguration in pages.yml

pages:
  template:
    default: default
    project: project
    about: about

Jetzt hast Du ein einfaches Portfolio-Setup mit zwei verschiedenen Seitentypen und entsprechenden Blueprints.

Zusammenfassung

Blueprints in Kirby bieten eine flexible und leistungsfähige Möglichkeit, Inhalte zu strukturieren und zu verwalten. Mit den richtigen Blueprints kannst Du Deine Webseiten effizient und benutzerfreundlich gestalten. Ich hoffe, dieses Tutorial hat Dir einen guten Überblick gegeben und Dich inspiriert, Deine eigenen Blueprints zu erstellen.

Viel Spaß beim Entwickeln und Experimentieren mit Kirby!

Husken Medien GmbH / August-Kümpers-Straße 9 / 48493 Wettringen / +49 2557 999 80-20