Welcome to Arkanis Development

YAML Ain't a Markup Language

Published

This post is written in German

Allen Ruby on Rails infizierten wird der Begriff YAML (YAML Ain't Markup Language) etwas sagen. Für alle, die es nicht wissen: YAML ist ein Format, um möglichst einfach Daten in eine Datei zu schreiben, die leicht von Mensch und auch Maschine gelesen werden kann.

Ein kleines Beispiel macht wie immer hoffentlich alles klarer:

development:
  adapter: mysql
  database: project_development
  username: user
  password:
  host: localhost

Das ist schon ein kleiner Block YAML. Genauer genommen die Konfiguration der Entwicklungsdatenbank aus einer Rails-Anwendung. Jeder, der schon mal mit XML gearbeitet hat, wird sich zumindest ein wenig über die etwas unübersichtliche Suppe von Elementen geärgert haben. Genau das ist einer der Vorteile von YAML, man kann übersichtliche Strukturen aufbauen, ohne viel "Markup Language" drum rum. Wichtig sind die Daten, und dass man sie einfach lesen kann.

Nun, ich hatte jetzt schon einige male etwas mehr mit YAML machen wollen. Z.b. eine YAML-Datei mit Testdaten, in der ein Block mit Text vorkommt. Nicht in einer Zeile, sondern über mehrere Zeilen verteilt. Eigentlich ganz einfach… aber wenn man nicht weiß wie es geht, kommt man bei YAML nicht drauf.

Leider hat mir bis jetzt immer eine übersichtliche und auch für Menschen verständliche Referenz gefehlt, in der man bei Problemen einfach mal reinschauen konnte. Naja, hätte ehr Google bemühen sollen…

Auf jeden Fall gibt es ein recht guten Einsteig in YAML: YAML in Five Minutes. Eine kleine sehr beeindruckende Einführung in in die Grundlagen von YAML. Noch dazu hab ich dadurch das Yaml Cookbook gefunden, das ich mir in den nächsten Tagen mal zu gemüht führen werde.

Auf jeden Fall sind meine Probleme mit YAML jetzt erst mal gelöst. Zum einen kann man recht einfach Textblöcke über Folded Blocks schreiben und zum anderen kann man in "Single-quoted Strings":5 alle möglichen Zeichen verwenden (hatte Probleme mit dem %-Zeichen).

folded block: >
  can't you see
  the beauty of yaml?
  hmm
all my favorite symbols: '#:!/%.)'

Hätte natürlich auch auf Wikipedia schauen können, denn da steht auch alles drinne. Aber gut, irren ist Menschlich. Für alle, die auch mit YAML arbeiten bzw. arbeiten wollen: ein Blick in YAML in Five Minutes und das Yaml Cookbook lohnt sich wirklich.

Leave a new comment

Having thoughts on your mind about this stuff here? Want to tell me and the rest of the world your opinion? Write and post it right here. Be sure to check out the format help (focus the large text field) and give the preview button a try.

Format help

Please us the following stuff to spice up your comment.

An empty line starts a new paragraph. ---- print "---- lines start/end code" ---- * List items start with a * or -

or