Elke nacht van 22:00 tot 07:00 uur onderhouden we onze servers. Lees wat je merkt Elke nacht onderhoud, 22:00-07:00 uur. Lees meer
Bestellen
Hosting
Domeinnaam
Ondersteuning
Ontdek
Terug naar begrippenlijst

YAML

YAML (YAML Ain't Markup Language) is een leesbaar tekstformaat voor configuratie, waarin inspringing de structuur bepaalt.

YAML

YAML (YAML Ain't Markup Language) is een tekstformaat voor gegevens dat je vooral tegenkomt in configuratiebestanden met de extensie .yaml of .yml. Waar JSON accolades en XML tags nodig heeft, bepaalt in YAML de inspringing de structuur, waardoor een bestand bijna leest als een gewone lijst. De naam stond eerst voor Yet Another Markup Language, maar werd later veranderd om te benadrukken dat YAML om gegevens draait en niet om opmaak.

Een regel als omgeving: productie is een sleutel met een waarde. Regels die je verder inspringt, horen bij de regel erboven, en een streepje aan het begin maakt er een lijstitem van. Die inspringing doe je altijd met spaties, want tabs zijn volgens de specificatie niet toegestaan.

Die leesbaarheid heeft een keerzijde. Eén spatie te veel of te weinig verandert de betekenis of maakt het bestand ongeldig. Parsers die de oude YAML 1.1-regels volgen, lezen bovendien woorden als no en yes als false en true. Dat staat bekend als het Norway-probleem, omdat de landcode NO voor Noorwegen zo ineens een ja/nee-waarde werd. Zet zulke waarden daarom tussen aanhalingstekens.

Op je hosting kom je YAML vooral tegen bij automatisch deployen. Laat je je site via GitHub Actions naar je pakket uploaden, dan staan de stappen in het bestand .github/workflows/deploy.yml in je repository. Controleer zo'n bestand met een YAML-validator voordat je pusht, want één inspringfout en de workflow start niet.

Geschiedenis

Clark Evans stelde YAML in 2001 voor en ontwierp het samen met Ingy döt Net en Oren Ben-Kiki. De afkorting stond eerst voor Yet Another Markup Language, een knipoog naar de vele opmaaktalen van die tijd. Tussen eind 2001 en begin 2002 werd dat de recursieve afkorting YAML Ain't Markup Language (Wikipedia).

Belangrijke mijlpalen:

  • 2004: YAML 1.0 verschijnt (29 januari)
  • 2005: YAML 1.1 (18 januari), met onder meer yes/no/on/off als booleaanse waarden
  • 2009: YAML 1.2 (21 juli) maakt YAML een superset van JSON en schrapt veel impliciete typeregels
  • 2021: YAML 1.2.2 (1 oktober), een herziene uitgave van de specificatie

Bronnen