YAML zu TOML

Übersetze YAML-Konfiguration in TOML mit optionaler Einrückung und Schlüsselsortierung.

Übersetze YAML-Konfiguration in TOML mit optionaler Einrückung und Schlüsselsortierung. Übersetze YAML-Konfiguration in TOML mit optionaler Einrückung und Schlüsselsortierung.

Ausgabe

Hintergrund

Wann YAML und TOML sich überschneiden — und wann nicht

Sowohl YAML als auch TOML wollen gut lesbare Konfigurationsformate sein. Sie überschneiden sich stark bei den Daten, die sie darstellen können (Mappings, Sequenzen, Skalare), unterscheiden sich aber in der Syntax und in einigen Randfällen. YAML unterstützt Tags, Anker und Mehrzeilenskalare; TOML unterscheidet zwischen Inline-Tabellen und Array-of-Tables und behandelt Datum als eigenständigen Typ.

Ein YAML-zu-TOML-Konverter ist am nützlichsten, wenn man eine Konfigurationsdatei vom bevorzugten Format eines Werkzeugs in das eines anderen überführt: zum Beispiel ein Kubernetes-Manifest in ein pyproject.toml-Snippet umwandeln oder ein Ansible-Inventar in einer Cargo-[dependencies]-Tabelle ausdrücken.

Was die Konvertierung überlebt

Mappings (key: value in YAML) werden je nach Kontext zu TOML-Tabellen oder Schlüssel-Wert-Paaren. Sequenzen werden zu Inline-Arrays oder [[array.of.tables]]-Kopfzeilen. Skalare werden beibehalten, solange sie sauber abbilden: Zeichenfolgen, Ganzzahlen, Gleitkommazahlen, Booleans und ISO-Daten.

Was nicht

YAML-Anker und -Alias werden beim Parsen abgeflacht; das konvertierte TOML enthält den konkreten Wert an jeder Alias-Stelle, was die meisten Konsumenten wollen. YAML-!!binary-Tags werden nicht beibehalten, weil TOML kein Äquivalent hat. Kommentare werden absichtlich entfernt — keines der Formate garantiert Round-Trip-Erhaltung.

Workflow-Tipps

Bevor du das konvertierte TOML committest, führe den TOML-Linter deines Projekts aus (taplo, toml-check usw.). Der Konverter übersetzt nur Syntax, nicht Stil; der Linter erkennt Anführungszeichen-, Einrückungs- und Schlüsselreihenfolge-Probleme, die der Konverter nicht erkennen kann.

Basiert auf zwei MIT/BSD-3-Bibliotheken, gebündelt in public/assets: js-yaml zum Parsen und smol-toml zur Ausgabe. Deine Eingabe wird lokal verarbeitet.

Häufig gestellte Fragen

Behandelt der Konverter YAML-Anker?
Ja. Anker (`&name value`) und Aliase (`*name`) werden beim Parsen expandiert, sodass das TOML den aufgelösten Wert an jeder Alias-Stelle enthält. Die ursprünglichen Ankernamen werden nicht beibehalten.
Überleben Kommentare im YAML?
Nein. YAML-Kommentare werden von jedem gängigen Parser entfernt. Füge Kommentare im TOML bei Bedarf von Hand wieder hinzu.
Kann der Konverter mehrteilige YAML-Dateien verarbeiten?
Nein. Der Betrachter behandelt jeden Upload als einzelnes Dokument. Nutze für mehrteilige Dateien ein dediziertes Werkzeug.
Unterstützt TOML Mehrzeilenzeichenfolgen?
Ja. Der Konverter gibt TOMLs dreifach angeführte Basiszeichenfolgen für jeden YAML-Skalar aus, der Zeilenumbrüche enthält, sodass die Lesbarkeit erhalten bleibt.
Was ist mit YAML-`!!binary`-Daten?
TOML hat kein Äquivalent für base64-Binärblobs. Der Konverter warnt und überspringt diese Werte, um stille Korruption zu vermeiden.
Wird mein YAML hochgeladen?
Nein. Das Parsen geschieht lokal über js-yaml, und die TOML-Ausgabe wird lokal über smol-toml erzeugt. Nichts wird an einen Server gesendet.