Pemformat YAML

Pemformatan berjalan di browser ini. YAML Anda tidak diunggah.

Tempel YAML dengan maksimal 1.000.000 karakter dan maksimal 100 dokumen. Pemformatan berjalan di browser ini.

YAML longgar soal sintaks tetapi tanpa ampun soal indentasi. Satu spasi yang meleset bisa diam-diam mengubah kunci menjadi item daftar, dan indentasi campur aduk membuat review terasa menyiksa. Pemformat ini mengurai input Anda dengan mesin js-yaml (skema core YAML 1.2) langsung di browser, lalu menuliskannya kembali dengan indentasi, gaya koleksi, tanda kutip, urutan kunci, dan lebar baris pilihan Anda, sehingga config menghasilkan diff yang bersih di kontrol versi dan tetap terbaca oleh semua kontributor.

Cara memformat YAML

  1. 1

    Tempel YAML

    Hingga 1.000.000 karakter dan hingga 100 dokumen dalam satu stream. Tidak ada yang diunggah: penguraian berjalan di browser Anda.

  2. 2

    Pilih opsi

    Lebar indentasi, gaya blok atau flow, tanda kutip, pengurutan kunci, dan lebar baris.

  3. 3

    Format

    Alat ini membangun ulang setiap dokumen dengan spasi kanonis dan gaya yang Anda pilih.

  4. 4

    Salin dan commit

    Hasilnya adalah YAML yang identik secara struktur, siap ditempel kembali ke config Anda.

Sebelum dan sesudah

Input berantakan:

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

Terformat (2 spasi, gaya blok):

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

Opsi pemformatan

Opsi Nilai Bawaan
Lebar indentasi 2, 4 2
Gaya koleksi Blok, flow Blok
Tanda kutip Minimal, ganda, tunggal Minimal
Pengurutan kunci Asli, alfabetis Asli
Lebar baris 80, 120, tanpa batas 120

Aturan tanda kutip

Kutip minimal biasanya yang Anda inginkan: string dibiarkan tanpa tanda kutip kecuali membiarkannya telanjang berisiko. Pemformat menambahkan tanda kutip secara otomatis untuk:

  • Boolean lawas yang berupa string: yes, no, on, off, y, n. YAML 1.2 sudah membacanya sebagai string, tetapi banyak parser masih mengikuti YAML 1.1, tempat no tanpa kutip berubah menjadi false. Pemformat selalu memberinya tanda kutip di output, jadi bug Norwegia yang terkenal (NO terbaca sebagai false di daftar negara) tidak bisa menggigit siapa pun yang memakai file Anda.
  • Angka yang berupa string: '007', '3.14'. Tanpa kutip, keduanya akan diurai sebagai integer atau float.
  • String yang memuat karakter seperti :, #, [, { atau diawali spasi, karena output telanjang akan mengubah struktur.

Pembersihan di setiap eksekusi

  • Spasi di akhir baris. Dihapus.
  • Indentasi campur atau tidak rata. Dinormalkan ke lebar indentasi pilihan Anda.
  • Baris kosong di dalam koleksi. Dihapus.
  • Tab pada indentasi. YAML melarangnya; parser menolak input dengan pesan kesalahan jelas yang menunjuk barisnya, jadi Anda bisa memperbaikinya alih-alih mengirim file yang akan ditolak parser lain.

Komentar, anchor, dan merge key

Pemformatan menormalkan model dokumen, dan ada batasan yang perlu diketahui sebelum commit:

  • Komentar dihapus. Parser mengurai dokumen menjadi data, jadi komentar # tidak selamat dari pemformatan. Simpan salinannya jika komentar Anda penting.
  • Anchor dan alias diselesaikan. Node yang dibagikan lewat alias tetap dibagikan, tetapi dituliskan ulang dengan nama hasil generate seperti &ref_0; nama anchor aslinya tidak dipertahankan.
  • Merge key (<<:) diselesaikan menjadi mapping biasa dengan nilai gabungan di tempatnya.

Stream multi-dokumen

Stream berisi beberapa dokumen didukung: setiap dokumen diformat secara terpisah lalu digabungkan lagi dengan pemisah ---, hingga 100 dokumen per eksekusi.

Pertanyaan yang Sering Diajukan

Struktur dan nilai tetap identik: hanya tampilannya yang berubah (indentasi, tanda kutip, flow atau blok, urutan kunci jika pengurutan diaktifkan). Dua hal sengaja tidak dipertahankan: komentar dihapus dan nama anchor dibuat ulang.

Jika string telanjang akan diurai sebagai hal lain, tanda kutip diperlukan demi keamanan. Kasus umum: kunci atau nilai yang hanya berisi digit, string yang memuat : atau #, dan boolean lawas seperti yes dan no yang oleh parser YAML 1.1 dibaca sebagai true/false.

Tidak. Opsi gaya berlaku untuk seluruh dokumen: blok membentangkan setiap koleksi ke barisnya sendiri, flow menuliskan koleksi dalam satu baris. Format dua kali dengan opsi berbeda jika perlu membandingkan.

Tidak. Penguraian dan pemformatan berjalan di browser Anda dengan mesin js-yaml bawaan. YAML Anda tidak melewati server, tidak disimpan, dan tidak pernah masuk ke alamat halaman; ia hanya hidup di sesi browser ini agar tampilan multi-langkah bisa menampilkan hasil Anda.

Alat Terkait