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