Formatter YAML

Format, validasi, dan konversi dokumen YAML dengan penyorotan sintaks dan deteksi kesalahan

Berjalan secara lokal

Input YAML

Output Terformat

Inspektor

Tempel YAML yang valid — struktur, tree, dan path key akan muncul di sini secara otomatis

Opsi Lanjutan

Bandingkan dengan YAML lain

Kirim dokumen ini ke Data Diff dan tempel versi kedua untuk melihat apa yang berubah.

Validasi dengan posisi error yang tepat

Validasi berjalan pada setiap ketikan menggunakan parser js-yaml 1.2. Dokumen yang valid mendapatkan hitungan real-time untuk jumlah dokumen, mapping, sequence, key, dan kedalaman. Dokumen yang rusak melaporkan baris dan kolom yang tepat, kemungkinan penyebab, serta penanda pada posisi yang gagal — bukan sekadar "syntax error".

Error YAML umum yang ditunjukkan dengan tepat oleh alat ini

Kesalahan-kesalahan ini menjadi penyebab sebagian besar YAML yang tidak valid. Setiap kesalahan terdeteksi beserta posisinya dan kemungkinan penyebabnya:

Indentasi salah

Baris anak yang indentasinya lebih kecil dari induknya, atau baris yang sejajar tidak rata. Biasanya dilaporkan sebagai "bad indentation of a mapping entry" pada baris yang tepat.

Karakter TAB

YAML melarang tab dalam indentasi. Parser melaporkan "found a tab character that violates indentation" dan menandai baris yang bermasalah.

Key duplikat

Key yang sama muncul dua kali dalam satu mapping. js-yaml melaporkan "duplicated mapping key" beserta baris kemunculan keduanya.

Titik dua atau spasi hilang

Key tanpa nilai ("key key2") atau titik dua yang menempel pada key ("key:value" dianggap plain string, bukan pasangan key-value). Dilaporkan sebagai "could not find expected ':'".

Sebelum / Sesudah

Manifest Kubernetes yang di-minify di sebelah kiri, dokumen yang sama dengan format indentasi 2 spasi di sebelah kanan. Struktur, tree, dan path diperbarui dari dokumen yang diparse.

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

Referensi cepat YAML (YAML 1.2)

  • Indentasi adalah struktur: hanya spasi — karakter TAB tidak pernah diizinkan untuk indentasi.
  • Titik dua harus diikuti spasi agar menjadi pemisah key: "key: value", bukan "key:value".
  • Scalar ditentukan tipenya berdasarkan core schema: true/false (boolean), integer, float, null (~ / null / kosong). Perhatikan bahwa "yes"/"no" adalah plain string di versi 1.2.
  • Beberapa dokumen dalam satu file dipisahkan oleh baris "---"; "..." mengakhiri sebuah dokumen.
  • Anchor (&base) dan alias (*base) menjaga file tetap DRY; merge key ("<<: *base") mewarisi mapping.

Langkah selanjutnya dengan data ini

Formatting adalah langkah pertama. Lanjutkan alur kerja tanpa keluar dari browser Anda:

Pertanyaan yang Sering Diajukan

Pertanyaan umum tentang format Yaml Formatter yang terjawab

Formatter mengikuti spesifikasi YAML 1.2, memastikan kompatibilitas dengan alat modern seperti Kubernetes, Docker Compose, GitHub Actions, dan platform cloud-native lainnya.

Ya, fitur konversi dua arah memungkinkan Anda mengonversi YAML ke JSON dan JSON ke YAML sambil mempertahankan tipe data, struktur bersarang, dan komentar jika memungkinkan.

Tentu saja. Formatter ini dirancang untuk menangani manifest Kubernetes, file Docker Compose, pipeline CI/CD, dan file YAML multi-dokumen lainnya dengan pemisahan bagian yang tepat.

Validator memeriksa konsistensi indentasi, penggunaan titik dua dan tanda hubung yang benar, keseimbangan string yang dikutip, referensi anchor dan alias, serta memberikan pesan error per baris untuk debugging yang cepat.

Ya, formatter menangani anchor (&), alias (*), dan merge key (<<) YAML dengan benar, mempertahankan fitur DRY ini sambil memformat struktur di sekitarnya.

YAML 1.2, spesifikasi terkini dari yaml.org - versi yang menjadi target dokumen Kubernetes, docker-compose, dan GitHub Actions. YAML 1.2 menjadikan JSON subset yang valid dan memperketat parsing boolean; formatter menjaga quoting Anda tetap eksplisit di tempat parser 1.1 (yang masih umum di Python PyYAML) bisa salah membaca nilai seperti "no" atau "0777".

Anchor, alias, dan block scalar YAML membawa komentar apa adanya, tetapi komentar yang menempel pada key yang di-indent ulang akan berpindah mengikuti tingkat indentasinya. Formatter tidak pernah menghapus komentar - ia hanya memindahkannya seminimal mungkin agar tetap menempel pada node yang didokumentasikannya.

Alat ini menandainya: nilai NO, no, ON, on, yes, n yang polos otomatis diberi tanda kutip saat pemformatan, sehingga parser YAML 1.1 tidak dapat memaksanya menjadi boolean. Daftar kode negara [NO, SE, DK] tetap berupa tiga string. YAML 1.2 hanya memperlakukan true/false sebagai boolean, tetapi quoting adalah satu-satunya keluaran yang aman di kedua versi.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Alat Terkait