Arkanis A blog about random stuff, but mostly programming.

YAML Ain't a Markup Language

rails, yaml

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 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.

react

nice meh bad surprised confused agree disagree

Comments

Newsfeed

No comments so far, feel free to write one. :)