Vai al contenuto

Formato da TOML a YAML — Numio

Converte un documento TOML in YAML. Le tabelle diventano mappature annidate, [[array di tabelle]] diventano elenchi di mappature e le virgolette vengono aggiunte solo dove YAML ne ha bisogno (ad esempio "2021" rimane una stringa).

Spostamento delle impostazioni da una configurazione TOML (Cargo, pyproject, Hugo) a uno strumento basato su YAML come un flusso di lavoro CI o un manifest Kubernetes.

TOML

YAML

Quando usarlo

  • Spostamento delle impostazioni da una configurazione TOML (Cargo, pyproject, Hugo) a uno strumento basato su YAML come un flusso di lavoro CI o un manifest Kubernetes.
  • Lettura di un lungo file TOML con tabelle punteggiate e nidificate come un albero rientrato.

Come si usa

  1. Incolla il documento TOML nell'editor di sinistra o utilizza il pulsante carica file per aprire un file UTF-8.
  2. Se viene visualizzato un errore, utilizza la riga e la colonna segnalate per trovare chiavi duplicate o problemi di sintassi.
  3. Controlla la data e l'ora e i valori tra virgolette in YAML, quindi copialo.

TOML

# Cargo-style manifest
[package]
name = "demo"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = { version = "1.0", features = ["derive"] }

[[bin]]
name = "cli"
path = "src/main.rs"

YAML

package:
  name: demo
  version: 0.1.0
  edition: "2021"
dependencies:
  serde:
    version: "1.0"
    features:
      - derive
bin:
  - name: cli
    path: src/main.rs

Dettagli e limiti

I commenti vengono eliminati. L'offset data/ora viene convertito in UTC (2024-01-05T10:00:00+09:00 diventa 2024-01-05T01:00:00.000Z) e vengono aggiunti i millisecondi.

L'output segue YAML 1.2, quindi le stringhe come yes e on vengono scritte senza virgolette. I parser YAML 1.1 (ad esempio PyYAML) possono leggerli come booleani; citarli a mano se necessario.

Le ore locali come 09:00:00 vengono scritte in millisecondi (09:00:00.000); le date locali e la data/ora non mantengono il fuso orario.

Funziona nel tuo browser (@iarna/toml, yaml, Prettier); inf e nan diventano .inf e .nan.

FAQ

I commenti vengono conservati?

No. TOML viene prima analizzato in dati, quindi i commenti e le righe vuote vengono persi. Copia manualmente i commenti importanti.

Come vengono convertiti gli [[array di tabelle]]?

Ciascun blocco [[bin]] diventa un elemento in un elenco YAML sotto bin, come mostrato nell'esempio.

Perché ricevo "Can't redefine existing key"?

La stessa chiave o tabella viene definita due volte, cosa che TOML vieta. L'errore fornisce la riga e la colonna della seconda definizione.

Specifiche e riferimenti