YAML Biçimlendirici

Sözdizimi vurgulama ve hata algılama ile YAML belgelerini biçimlendirin, doğrulayın ve dönüştürün

Yerel olarak çalışır

YAML Girişi

Biçimlendirilmiş Çıktı

İnceleyici

Geçerli YAML yapıştırın — yapı, ağaç ve anahtar yolları burada otomatik olarak görünür

Gelişmiş Seçenekler

Başka bir YAML ile karşılaştır

Bu belgeyi Data Diff'e gönderin ve değişiklikleri görmek için ikinci bir sürümü yapıştırın.

Tam hata konumuyla doğrulama

Doğrulama, js-yaml 1.2 ayrıştırıcısıyla her tuş vuruşunda çalışır. Geçerli belgeler; belge, mapping, sequence, anahtar ve derinlik sayılarını canlı olarak gösterir. Bozuk olanlar tam satır ve sütunu, olası bir nedeni ve hatalı konumda bir vurgulamayı bildirir — yalnızca "syntax error" değil.

Bu aracın tam olarak tespit ettiği yaygın YAML hataları

Bu hatalar geçersiz YAML'ların çoğunu oluşturur. Her biri bir konum ve olası bir nedenle tespit edilir:

Hatalı girinti

Üst satırından daha az girintili bir alt satır veya hizalanmayan aynı seviyedeki satırlar. Genellikle tam satırda "bad indentation of a mapping entry" olarak bildirilir.

TAB karakteri

YAML girintide sekmelere izin vermez. Ayrıştırıcı "found a tab character that violates indentation" bildirir ve sorunlu satırı vurgular.

Yinelenen anahtar

Tek bir mapping içinde iki kez geçen aynı anahtar. js-yaml, ikinci geçtiği satırla birlikte "duplicated mapping key" bildirir.

Eksik iki nokta veya boşluk

Değersiz bir anahtar ("key key2") veya anahtara yapışmış iki nokta ("key:value" bir çift değil, düz bir dizgedir). "could not find expected ':'" olarak bildirilir.

Önce / Sonra

Solda küçültülmüş Kubernetes manifestosu, sağda 2 boşluk girintiyle biçimlendirilmiş aynı belge. Yapı, ağaç ve yollar ayrıştırılan belgeden güncellenir.

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

YAML hızlı başvuru (YAML 1.2)

  • Girinti yapıdır: yalnızca boşluk — TAB karakterleri girinti için asla kabul edilmez.
  • İki nokta, anahtar ayırıcı olması için ardından bir boşluk almalıdır: "key: value", "key:value" değil.
  • Skaler değerler core şemaya göre türlere çözümlenir: true/false (mantıksal), tamsayılar, ondalıklı sayılar, null (~ / null / boş). 1.2'de "yes"/"no" değerlerinin düz dize olduğunu unutmayın.
  • Tek dosyadaki birden fazla belge "---" satırıyla ayrılır; "..." bir belgeyi sonlandırır.
  • Çıpalar (&base) ve takma adlar (*base) dosyaları DRY tutar; birleştirme anahtarları ("<<: *base") mapping'leri devralır.

Bu veriyle sonraki adımlar

Biçimlendirme ilk adımdır. İş akışına tarayıcınızdan çıkmadan devam edin:

Sıkça Sorulan Sorular

Yaml Formatter biçimlendirme hakkında yaygın soruların cevapları

Biçimlendirici, Kubernetes, Docker Compose, GitHub Actions ve diğer cloud-native platformlar gibi modern araçlarla uyumluluğu garanti ederek YAML 1.2 belirtimini izler.

Evet, çift yönlü dönüştürme özelliği; veri türlerini, iç içe geçmiş yapıları ve uygulanabilir yerlerdeki yorumları koruyarak YAML'ı JSON'a ve JSON'ı YAML'a dönüştürmenizi sağlar.

Kesinlikle. Biçimlendirici, Kubernetes manifestleri, Docker Compose dosyaları, CI/CD pipeline'ları ve diğer çok belgeli YAML dosyalarını doğru bölüm ayrımıyla işleyecek şekilde tasarlanmıştır.

Doğrulayıcı; girinti tutarlılığını, iki nokta ve tirelerin doğru kullanımını, tırnaklı dizelerin dengesini ve anchor ile alias referanslarını kontrol eder, ayrıca hızlı hata ayıklama için satır bazlı hata mesajları sağlar.

Evet, biçimlendirici YAML anchor'larını (&), alias'larını (*) ve merge key'lerini (<<) doğru şekilde işler; çevredeki yapıyı biçimlendirirken bu DRY özelliklerini korur.

YAML 1.2, yaml.org'un güncel spesifikasyonu - Kubernetes, docker-compose ve GitHub Actions belgelerinin hedeflediği sürüm. YAML 1.2, JSON'ı geçerli bir alt küme hâline getirdi ve boolean ayrıştırmayı sıkılaştırdı; biçimlendirici, 1.1 ayrıştırıcılarının (hâlâ Python PyYAML'de yaygın) "no" veya "0777" gibi değerleri yanlış okuyacağı yerlerde tırnaklamayı açık biçimde korur.

YAML anchor'ları, alias'ları ve block scalar'lar yorumları olduğu gibi taşır; ancak yeniden girintilendirilen bir anahtara bağlı yorum, girinti seviyesiyle birlikte hareket eder. Biçimlendirici asla yorum silmez - belgelediği düğüme bağlı kalması için bunları minimum düzeyde yeniden konumlandırır.

Bunu işaretler: tırnaksız NO, no, ON, on, yes, n değerleri biçimlendirme sırasında otomatik olarak tırnak içine alınır; böylece YAML 1.1 ayrıştırıcıları bunları boolean'a dönüştüremez. [NO, SE, DK] ülke kodu listesi üç dize olarak kalır. YAML 1.2 yalnızca true/false değerlerini boolean sayar, ancak her iki sürüm altında da güvenli olan tek çıktı tırnaklı olandır.

{-- * 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 --}}

İlgili Araçlar