Formattatore YAML

La formattazione avviene in questo browser. Il tuo YAML non viene inviato a nessun server.

Incolla YAML fino a 1.000.000 di caratteri e fino a 100 documenti. La formattazione avviene in questo browser.

YAML è permissivo con la sintassi e spietato con l’indentazione. Basta uno spazio fuori posto per trasformare in silenzio una chiave in un elemento di lista, e un’indentazione mista rende le review faticose. Questo formattatore analizza l’input con il motore js-yaml (schema core di YAML 1.2) direttamente nel browser, poi lo riemette con l’indentazione, lo stile delle collezioni, le virgolette, l’ordine delle chiavi e la larghezza di riga che scegli, così le config producono diff puliti nel controllo di versione e restano leggibili per tutti i collaboratori.

Come formattare YAML

  1. 1

    Incolla lo YAML

    Fino a 1.000.000 di caratteri e fino a 100 documenti in un unico stream. Non viene caricato nulla: il parsing avviene nel browser.

  2. 2

    Scegli le opzioni

    Larghezza di indentazione, stile a blocco o a flusso, virgolette, ordinamento delle chiavi e larghezza di riga.

  3. 3

    Formatta

    Lo strumento ricostruisce ogni documento con spaziatura canonica e lo stile scelto.

  4. 4

    Copia e committa

    L'output è YAML strutturalmente identico, pronto da incollare di nuovo nella tua config.

Prima e dopo

Input disordinato:

server:
  port:   8080
  hosts: ["api.example.com",  "api2.example.com"]
  timeout:  30
  debug: true

Formattato (2 spazi, stile a blocco):

server:
  port: 8080
  hosts:
    - api.example.com
    - api2.example.com
  timeout: 30
  debug: true

Opzioni di formattazione

Opzione Valori Predefinito
Larghezza indentazione 2, 4 2
Stile delle collezioni Blocco, flusso Blocco
Virgolette Minime, doppie, singole Minime
Ordinamento chiavi Originale, alfabetico Originale
Larghezza riga 80, 120, illimitata 120

Regole per le virgolette

Le virgolette minime sono in genere ciò che vuoi: le stringhe restano senza virgolette a meno che lasciarle nude non sia rischioso. Il formattatore aggiunge automaticamente le virgolette per:

  • Booleani legacy come stringhe: yes, no, on, off, y, n. YAML 1.2 li legge già come stringhe, ma molti parser seguono ancora YAML 1.1, dove un no senza virgolette diventa false. Il formattatore li racchiude sempre tra virgolette nell’output, così il famoso bug della Norvegia (NO letto come false in un elenco di paesi) non può colpire chi consuma il tuo file.
  • Numeri come stringhe: '007', '3.14'. Senza virgolette verrebbero interpretati come interi o decimali.
  • Stringhe che contengono caratteri come :, #, [, { o spazi iniziali, dove un output nudo cambierebbe la struttura.

Pulizie applicate a ogni esecuzione

  • Spazi a fine riga. Rimossi.
  • Indentazione mista o irregolare. Normalizzata alla larghezza di indentazione scelta.
  • Righe vuote dentro le collezioni. Rimosse.
  • Tab nell’indentazione. YAML li vieta; il parser rifiuta l’input con un errore chiaro che indica la riga, così puoi correggerla invece di consegnare un file che altri parser rifiuteranno.

Commenti, ancore e chiavi di merge

La formattazione normalizza il modello del documento, con limiti che conviene conoscere prima del commit:

  • I commenti vengono rimossi. Il parser risolve il documento in dati, quindi i commenti # non sopravvivono alla formattazione. Conserva una copia se i tuoi commenti contano.
  • Ancore e alias vengono risolti. I nodi condivisi tramite alias restano condivisi, ma vengono riemessi con nomi generati come &ref_0; i nomi originali delle ancore non vengono conservati.
  • Le chiavi di merge (<<:) vengono risolte in mapping normali con i valori uniti al loro posto.

Stream multi-documento

Gli stream con più documenti sono supportati: ogni documento viene formattato in modo indipendente e riunito con il separatore ---, fino a 100 documenti per esecuzione.

Domande frequenti

Struttura e valori restano identici: cambia solo la resa (indentazione, virgolette, flusso o blocco, ordine delle chiavi se attivi l’ordinamento). Due cose non vengono conservate, per scelta: i commenti vengono rimossi e i nomi delle ancore vengono rigenerati.

Quando una stringa nuda verrebbe interpretata come qualcos’altro, le virgolette sono necessarie per sicurezza. Casi tipici: chiavi o valori composti solo da cifre, stringhe che contengono : o #, e booleani legacy come yes e no che i parser YAML 1.1 leggerebbero come true/false.

No. L’opzione di stile vale per l’intero documento: il blocco espande ogni collezione su righe separate, il flusso rende le collezioni in linea. Formatta due volte con opzioni diverse se devi confrontare.

No. Parsing e formattazione avvengono nel browser con il motore js-yaml integrato. Il tuo YAML non passa dal server, non viene salvato e non finisce mai nell’indirizzo della pagina; vive solo in questa sessione del browser perché la vista a più passaggi possa mostrarti il risultato.

Strumenti correlati