YAML (YAML Ain't Markup Language)

YAML je lidsky čitelný standard pro serializaci dat. Je navržen tak, aby byl snadno čitelný pro lidi a zároveň jednoduchý na zpracování pro stroje. V dnešním IT světě se stal de facto standardem pro konfigurační soubory, zejména v oblasti DevOps a Cloud computingu.

Název je rekurzivní zkratka, která zdůrazňuje, že YAML není značkovací jazyk (jako XML nebo HTML), ale zaměřuje se čistě na data.

Základní syntaxe a pravidla

YAML má několik striktních pravidel, která musíte dodržovat:

Odsazování (Indentation): K definování struktury se používají výhradně mezery, nikoliv tabulátory. Počet mezer musí být konzistentní (obvykle 2 nebo 4).

Case sensitivity: Rozlišují se malá a velká písmena.

Kódování: Soubory musí být v kódování UTF-8.

Přípona: Obvykle .yaml nebo .yml.

Datové struktury v YAML

1. Klíč a hodnota (Maps/Dictionaries)

Základní stavební kámen. Odděluje se dvojtečkou s mezerou.

verze: 3.8
nazev: "Moje Aplikace"
aktivni: true

2. Seznamy (Lists/Sequences)

Prvky seznamu začínají pomlčkou následovanou mezerou.

servery:
- web01
- web02
- db01

3. Vnořené objekty

Struktura se vytváří odsazením.

databaze:
host: localhost
port: 5432
uzivatel: admin

Pokročilé techniky

Víceřádkové řetězce

YAML umožňuje elegantně zapisovat dlouhé texty (např. skripty nebo certifikáty):

Znak | (Literal): Zachovává konce řádků.

Znak > (Folded): Nahradí konce řádků mezerou (vytvoří jeden dlouhý odstavec).

Komentáře

Na rozdíl od JSON podporuje YAML komentáře pomocí znaku #.

# Toto je konfigurace pro produkci
env: prod

Více dokumentů v jednom souboru

Můžete oddělit několik logických dokumentů pomocí tří pomlček (—). To se hojně využívá v Kubernetes manifestech.

Srovnání: YAML vs JSON vs XML

Vlastnost	YAML	JSON	XML
Čitelnost	Výborná	Dobrá	Horší
Komentáře	Ano	Ne	Ano
Struktura	Odsazení	Závorky {}, []	Tagy <tag>
Typování	Automatické	Striktní	Textové

Časté chyby

Tabulátory: Použití tabulátoru místo mezer je nejčastější příčinou chyby „mapping values are not allowed here“.

Chybějící mezera: Dvojtečka musí být následována mezerou (klíč:hodnota je špatně, klíč: hodnota je správně).

Špatné odsazení: Pokud prvek seznamu nezačíná na správné úrovni, změní se celá sémantika dokumentu.

Tip: Pro kontrolu správnosti syntaxe se doporučuje používat nástroje zvané YAML Linters nebo online validátory. V editoru VS Code je užitečné rozšíření „Red Hat YAML“.

Zpět na Data