YAML ist ein Format für Konfiguration, das auf Klammern verzichtet und die Struktur durch Einrückung ausdrückt.
- YAML
Ein textbasiertes Datenformat, das ohne Klammern auskommt und Verschachtelung durch Einrückung darstellt.
Beispiel: „Die Blueprints in Statamic sind YAML-Dateien, und schon ein falsch gesetztes Leerzeichen macht sie unlesbar.“Die Abkürzung steht scherzhaft für YAML Ain't Markup Language, also YAML ist keine Auszeichnungssprache. Ursprünglich stand sie für Yet Another Markup Language, auf Deutsch etwa noch eine Auszeichnungssprache.
Warum es für Konfiguration benutzt wird
Weil es sich ohne Klammern und Anführungszeichen lesen lässt. Eine Konfigurationsdatei soll von Menschen bearbeitet werden, und dafür ist YAML angenehmer als JSON oder XML.
Es erlaubt außerdem Kommentare, und das ist für Konfiguration der eigentliche Grund. Warum eine Einstellung so gesetzt ist, gehört daneben.
# Kommentare beginnen mit dem Doppelkreuz
titel: Stuhl
preis: 89.00
verfuegbar: true
farben:
- rot
- blau
hersteller:
name: Beispiel GmbH
land: DEDass Einrückung zur Fehlerquelle wird
Die Struktur steckt in den Leerzeichen, und deshalb ändert ein verschobenes Leerzeichen die Bedeutung. Tabulatoren sind verboten, was in gemischten Teams regelmäßig auffällt.
In diesem Projekt sind Blueprints, Fieldsets und das Frontmatter jedes Inhaltseintrags in YAML geschrieben. Eine kaputte Einrückung führt dort dazu, dass eine Seite gar nicht mehr lädt, und nicht dazu, dass ein Feld fehlt.
Die Stolpersteine bei Werten
YAML versucht, Werte zu deuten. Ohne Anführungszeichen wird aus einer Postleitzahl eine Zahl mit verlorener führender Null, und ein Wort wie no kann als Wahrheitswert gelesen werden. Was Text bleiben soll, gehört deshalb in Anführungszeichen.