Vai al contenuto

Formato da YAML a TOML — Numio

Converte un documento YAML in TOML. Le mappature nidificate diventano sezioni [table.sub], gli elenchi di mappature diventano [[array di tabelle]] e le chiavi con valori nulli (~) vengono eliminate.

Riscrivere una configurazione YAML come TOML quando un progetto viene spostato nelle impostazioni pyproject.toml, Cargo, Hugo o Netlify TOML.

YAML

TOML

Quando usarlo

  • Riscrivere una configurazione YAML come TOML quando un progetto viene spostato nelle impostazioni pyproject.toml, Cargo, Hugo o Netlify TOML.
  • Controllare come una struttura YAML annidata apparirebbe come tabelle TOML prima di scegliere un formato di configurazione.

Come si usa

  1. Incolla un singolo documento YAML con una mappatura al livello superiore nell'editor di sinistra oppure utilizza il pulsante carica file per aprire un file UTF-8.
  2. Correggi qualsiasi errore YAML segnalato (rientro, più documenti o un elenco di primo livello).
  3. Controlla date, valori nulli ed elenchi in TOML, quindi copialo.

YAML

# docker-compose style
version: "3.9"
services:
  web:
    image: nginx:1.27
    ports:
      - "8080:80"
    environment:
      DEBUG: false
      WORKERS: 4
  db:
    image: postgres:16

TOML

version = "3.9"

[services.web]
image = "nginx:1.27"
ports = [ "8080:80" ]

  [services.web.environment]
  DEBUG = false
  WORKERS = 4

[services.db]
image = "postgres:16"

Dettagli e limiti

YAML viene letto come YAML 1.2: yes resta la stringa "yes", 0o17 diventa 15 e le date senza virgolette, come 2024-01-05, diventano stringhe TOML, non date TOML.

I commenti e gli ancoraggi non vengono mantenuti come tali: gli alias (*nome) e <<: le chiavi di unione *anchor vengono espanse nei valori a cui si riferiscono.

È accettato un solo documento; l'input con --- separatori fallisce con un errore di più documenti. Un elenco di livello superiore, o un elenco che mescola mappature con valori semplici, viene rifiutato con una spiegazione.

Viene eseguito nel tuo browser (yaml + @iarna/toml). Le sottotabelle come [services.web.environment] sono rientrate di due spazi; TOML ignora questo rientro.

FAQ

Posso convertire un docker-compose.yml in TOML?

La struttura converte, come nell'esempio, ma Docker Compose legge solo YAML. Usalo per controllare o riutilizzare i dati, non come file Compose.

Cosa succede ai valori nulli?

Le chiavi il cui valore è ~ o null vengono omesse perché TOML non ha un tipo null.

Sono supportati gli ancoraggi YAML e le chiavi di unione?

Sì. Gli alias (*nome) vengono espansi e <<: *base copia le chiavi di base nella mappatura, con le chiavi scritte accanto ad essa che hanno la precedenza. TOML mostra i valori uniti.

Specifiche e riferimenti