Hoppa till innehåll
100% lokalt

YAML-ankarexpandör

Ersätt YAML-ankar, aliaser och merge-keys med sitt fullständiga innehål.

Inmatning
Utmatning

YAML-ankarexpandör

Klistra in ett YAML-dokument som använder ankar (&name), alias (*name) eller merge-keys (<<:), och det här verktyget ersätter varje referens med det fullständiga innehålet som den pekar på. Resultatet är rent, fristående YAML utan ankar, alias eller merge-keys — användbart när du behöver skicka en konfigurationsfil till ett verktyg som inte förstår YAML's återanvändningssyntax, eller när du bara vill se hur en fil med många ankar faktiskt expanderas.

Merge-keys löses med samma prioritet som YAML själv använder: en nyckel som är skriven explicit i en mapping vinner alltid över en som hämtas in genom en merge. När en mapping slår samman mer än en källa (<<: [*a, *b]) vinner den tidigare källan vid en kollision. Kedjad merges — en mapping som slår samman en annan mapping som själv slår samman en tredje — följs helt ner. Flera dokument i en inmatning, separerade med ---, expanderas var för sig oberoende och återkombineras med samma separatör.

Alternativen styr formen på utdatan snarare än vad som expanderas. »Behåll nyckelordning» behåller nycklar i sin ursprungliga ordning; om du stänger av det sorteras varje mappings nycklar alfabetiskt. »Strängstil» kan tvinga varje strängvärde till dubbla eller enkla citattecken, utan att röra siffror, boolska värden eller noll. »Ta bort oanvända ankar» tar bort en nyckel på toppnivå som bara finns för att definiera ett ankar som ingen någonsin refererar till — död byggnadsställning som vissa handskrivna YAML-filer ackumulerar över tid. »Markeringsliv» byter ut det expanderade YAML för en kort rapport som listar varje ankar, var det är definierat, och varje rad som använder det via ett alias eller en merge — praktiskt för att förstå en fil innan du platar den.

Allt körs lokalt i din webbläsare — dina YAML-filer laddas aldrig upp eller skickas till en server, vilket är viktigt eftersom ankar och merge-keys är vanliga i filer som innehåller miljökonfigurationer, CI-pipelines eller Kubernetes-manifest. Kopiera resultatet, ladda ned det som en .txt-fil, eller skicka det direkt till ett annat verktyg som YAML till JSON.

FAQ

Vad räknas exakt som en referens här?
Tre YAML-funktioner: ett ankar (&name) markerar en nod, ett alias (*name) återanvänder det på annat håll, och en merge-key (<<: *name) blandas en förankrad mapping i en annan. Alla tre ersätts med det faktiska innehållet.
Vinner explicit data över sammanslagna data?
Ja. Om en mapping slår samman en nyckel som den också ställer in direkt, behålls mappings eget värde — motsvarar hur YAML-merge-keys beter sig i varje standardparser.
Vad händer med ett cirkulärt ankar, som ett som refererar tillbaka till sig självt?
Verktyget rapporterar i stället ett fel, eftersom en genuin cirkulär struktur inte har någon finit YAML-representation. Ta bort självreferensen och kör det igen.
Kan det hantera en fil med flera --- dokument?
Ja. Varje dokument expanderas på egen hand — ankar i ett dokument är inte synliga för ett annat — och utdatan behåller samma --- separatörer.
Laddas min YAML upp någonstans?
Nej. Expansion körs helt i din webbläsare med lokal YAML-parsing — din fil lämnar aldrig din enhet.