Übersetzen Sie TOML-Dokumente in YAML mit optionaler Schlüsselsortierung und Einrückungssteuerung.
Übersetzen Sie TOML-Dokumente in YAML mit optionaler Schlüsselsortierung und Einrückungssteuerung. Übersetzen Sie TOML-Dokumente in YAML mit optionaler Schlüsselsortierung und Einrückungssteuerung.
Ausgabe
Hintergrund
Warum zwischen TOML und YAML wechseln
Beide Formate zielen auf von Menschen bearbeitete
Konfigurationsdateien ab, aber das Ökosystem darum herum ist
verschieden. TOML ist der Standard für Python-Packaging
(pyproject.toml), Rust (Cargo.toml), GitHub-Workflows und
viele CLI-Werkzeuge. YAML ist der Standard für Kubernetes, Ansible,
Docker Compose, GitHub Actions (die ältere Syntax) und viele
CI-Systeme.
Manchmal müssen Sie dieselbe Konfiguration in beiden Formaten
ausdrücken: ein pyproject.toml-Schnipsel in einem Ansible-Playbook
wiederverwenden oder eine Kubernetes-ConfigMap in einen
Cargo.toml-Abhängigkeitsblock übertragen. Ein TOML-zu-YAML-Konverter
hält die Übersetzung mechanisch.
Was die Konvertierung übersteht
Mappings, Sequenzen, Skalare (Zeichenketten, ganze Zahlen,
Gleitkommazahlen, Booleans, ISO-Daten), Inline-Tabellen und
Punkt-Schlüssel übersetzen alle sauber. Mehrzeilige Zeichenketten
werden als YAML-Block-Skalare ausgegeben und bewahren das visuelle
Layout, das der ursprüngliche TOML-Autor gewählt hat.
Was nicht
YAML-Tags (!!str, !!int usw.) werden nur ausgegeben, wenn der
zugrundeliegende Typ von YAMLs Standard-Inferenz abweicht. In der
Praxis passt die Wahl des Parsers zu dem, was die meisten Leser
erwarten. YAML-Anker werden standardmäßig nicht erzeugt, weil jeder
TOML-Wert vollständig in sich geschlossen ist; wenn Sie gemeinsame
Unterbäume wollen, führen Sie sie von Hand ein.
Arbeitsablauf-Tipps
Nach der Konvertierung lassen Sie das YAML durch einen Linter
(yamllint, kubeconform), bevor Sie es committen. Der Konverter
übersetzt Syntax, nicht Stil: er kann nicht wissen, ob Sie snake_case
oder kebab-case wollten, oder ob Sie 2-Leerzeichen- oder
4-Leerzeichen-Einrückung bevorzugten. Das entscheiden Ihre
Projektkonventionen.
Häufig gestellte Fragen
Unterstützt der Konverter TOML-Arrays von Tabellen?
Ja. `[[name]]`-Köpfe werden zu YAML-Sequenzelementen unter dem `name`-Schlüssel, wobei die Tabellenreihenfolge bewahrt bleibt.
Behält die YAML-Ausgabe meine TOML-Kommentare?
Nein. TOML-Kommentare werden vom Parser entfernt. Fügen Sie Kommentare in der YAML-Ausgabe von Hand hinzu, falls nötig.
Wie werden TOML-Daten in YAML dargestellt?
Daten und Datumszeiten werden zu YAML-Zeichenketten mit derselben ISO-Darstellung. Die meisten YAML-Konsumenten parsen sie mit der Datumsbibliothek ihrer Sprache.
Was ist mit TOMLs Inline-Tabellen?
Sie werden zu verschachtelten YAML-Mappings in einer einzigen Zeile. Einige Styleguides verlangen Blockstil für Lesbarkeit; konvertieren Sie von Hand, wenn Ihr Linter meckert.
Warum verwendet die Ausgabe doppelte Anführungszeichen um Zeichenketten?
Einfach in Anführungszeichen gesetzte YAML-Zeichenketten verbieten Escape-Sequenzen, und einfache YAML-Skalare haben reservierte Schlüsselwörter; doppelte Anführungszeichen sind der sicherste Standard für das Round-Tripping beliebigen Texts.
Wird mein TOML hochgeladen?
Nein. Das Parsen erfolgt lokal über smol-toml und die YAML-Ausgabe über js-yaml. Es wird nichts an einen Server gesendet.