YAML फ़ॉर्मेटर

सिंटैक्स हाइलाइटिंग और त्रुटि पहचान के साथ YAML दस्तावेज़ों को फ़ॉर्मेट, सत्यापित और रूपांतरित करें

स्थानीय रूप से चलता है

YAML इनपुट

फ़ॉर्मेटेड आउटपुट

इंस्पेक्टर

वैध YAML पेस्ट करें — संरचना, ट्री और की पाथ यहाँ स्वतः दिखाई देंगे

उन्नत विकल्प

दूसरे YAML के साथ तुलना करें

इस दस्तावेज़ को Data Diff में भेजें और दूसरा वर्शन पेस्ट करके देखें कि क्या बदला।

सटीक त्रुटि स्थिति के साथ वैलिडेशन

वैलिडेशन js-yaml 1.2 पार्सर के साथ हर कीस्ट्रोक पर चलता है। वैध दस्तावेज़ों के लिए दस्तावेज़, मैपिंग, सीक्वेंस, की और गहराई की लाइव गिनती मिलती है। खराब दस्तावेज़ सटीक पंक्ति और कॉलम, संभावित कारण, और विफल स्थिति पर हाइलाइट रिपोर्ट करते हैं — केवल "syntax error" नहीं।

सामान्य YAML त्रुटियाँ जिन्हें यह टूल सटीक पहचानता है

ये गलतियाँ अधिकांश अमान्य YAML का कारण होती हैं। प्रत्येक का पता एक स्थिति और संभावित कारण के साथ लगाया जाता है:

गलत इंडेंटेशन

चाइल्ड लाइन अपने पैरेंट से कम इंडेंट की गई, या सिबलिंग जो संरेखित नहीं हैं। आमतौर पर सटीक पंक्ति पर "bad indentation of a mapping entry" के रूप में रिपोर्ट होता है।

TAB कैरेक्टर

YAML इंडेंटेशन में टैब को मना करता है। पार्सर "found a tab character that violates indentation" रिपोर्ट करता है और दोषपूर्ण पंक्ति को हाइलाइट करता है।

डुप्लिकेट की

एक ही मैपिंग में वही की दो बार। js-yaml दूसरी बार आने की पंक्ति के साथ "duplicated mapping key" रिपोर्ट करता है।

कोलन या स्पेस का अभाव

बिना वैल्यू वाली की ("key key2") या की से चिपका हुआ कोलन ("key:value" एक सादा स्ट्रिंग है, पेयर नहीं)। "could not find expected ':'" के रूप में रिपोर्ट होता है।

पहले / बाद

बाईं ओर मिनिफाइड Kubernetes मैनिफेस्ट, दाईं ओर वही दस्तावेज़ 2-स्पेस इंडेंट के साथ फॉर्मेट किया हुआ। संरचना, ट्री और पाथ पार्स किए गए दस्तावेज़ से अपडेट होते हैं।

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 क्विक रेफरेंस (YAML 1.2)

  • इंडेंटेशन ही संरचना है: केवल स्पेस का उपयोग करें — इंडेंटेशन के लिए TAB कैरेक्टर की कभी अनुमति नहीं है।
  • की-सेपरेटर बनने के लिए कोलन के बाद एक स्पेस होना ज़रूरी है: "key: value", न कि "key:value"।
  • कोर स्कीमा के अनुसार स्केलर टाइप में रिज़ॉल्व होते हैं: true/false (बूलियन), integers, floats, null (~ / null / empty)। ध्यान दें कि "yes"/"no" 1.2 में सादे स्ट्रिंग होते हैं।
  • एक फ़ाइल में कई डॉक्यूमेंट "---" लाइन से अलग किए जाते हैं; "..." एक डॉक्यूमेंट को समाप्त करता है।
  • एंकर (&base) और एलायज़ (*base) फ़ाइलों को DRY रखते हैं; मर्ज कीज़ ("<<: *base") मैपिंग इनहेरिट करती हैं।

इस डेटा के साथ अगले कदम

फ़ॉर्मैटिंग पहला कदम है। ब्राउज़र छोड़े बिना वर्कफ़्लो जारी रखें:

अक्सर पूछे जाने वाले प्रश्न

Yaml Formatter फ़ॉर्मेटिंग के बारे में सामान्य प्रश्नों के उत्तर

फ़ॉर्मैटर YAML 1.2 स्पेसिफिकेशन का पालन करता है, जिससे Kubernetes, Docker Compose, GitHub Actions और अन्य cloud-native प्लेटफ़ॉर्म जैसे आधुनिक टूल्स के साथ संगतता सुनिश्चित होती है।

हाँ, द्विदिशात्मक कन्वर्ज़न फ़ीचर से आप YAML को JSON में और JSON को YAML में बदल सकते हैं, साथ ही डेटा टाइप, नेस्टेड संरचनाएँ और जहाँ लागू हो वहाँ कमेंट्स भी सुरक्षित रहते हैं।

बिल्कुल। फ़ॉर्मैटर Kubernetes मैनिफ़ेस्ट, Docker Compose फ़ाइलें, CI/CD पाइपलाइन और अन्य मल्टी-डॉक्यूमेंट YAML फ़ाइलों को उचित सेक्शन सेपरेशन के साथ हैंडल करने के लिए डिज़ाइन किया गया है।

वैलिडेटर इंडेंटेशन की संगति, कोलन और डैश का सही उपयोग, कोटेड स्ट्रिंग का संतुलन, एंकर और एलायज़ रेफ़रेंस जाँचता है और तेज़ डिबगिंग के लिए लाइन-विशिष्ट एरर मैसेज देता है।

हाँ, फ़ॉर्मैटर YAML एंकर (&), एलायज़ (*) और मर्ज कीज़ (<<) को सही ढंग से हैंडल करता है, और आस-पास की संरचना फ़ॉर्मैट करते समय इन DRY फ़ीचर्स को सुरक्षित रखता है।

YAML 1.2, yaml.org की वर्तमान स्पेक - वह वर्ज़न जिसे Kubernetes, docker-compose और GitHub Actions डॉक्यूमेंट टारगेट करते हैं। YAML 1.2 ने JSON को वैध सबसेट बनाया और बूलियन पार्सिंग को सख़्त किया; फ़ॉर्मैटर आपकी कोटिंग को स्पष्ट रखता है जहाँ 1.1 पार्सर (जो अब भी Python PyYAML में आम हैं) "no" या "0777" जैसी वैल्यू को गलत पढ़ सकते हैं।

YAML एंकर, एलायज़ और ब्लॉक स्केलर कमेंट्स को अपरिवर्तित रखते हैं, लेकिन किसी की से जुड़ा कमेंट, जिसे री-इंडेंट किया जाता है, उसके इंडेंटेशन लेवल के साथ खिसक जाता है। फ़ॉर्मैटर कभी भी कमेंट्स को डिलीट नहीं करता - वह उन्हें न्यूनतम रूप से स्थानांतरित करता है ताकि वे उस नोड से जुड़े रहें जिसे वे दर्शाते हैं।

यह उसे चिह्नित करता है: फ़ॉर्मैटिंग के दौरान बिना कोट्स वाले NO, no, ON, on, yes, n को स्वतः कोट किया जाता है, ताकि YAML 1.1 पार्सर उन्हें बूलियन में न बदल सकें। देश-कोड लिस्ट [NO, SE, DK] तीन स्ट्रिंग ही रहती है। YAML 1.2 केवल true/false को बूलियन मानता है, लेकिन कोटिंग ही एकमात्र आउटपुट है जो दोनों वर्ज़न के तहत सुरक्षित है।

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

प्रामाणिक संदर्भ

मानक और आधिकारिक दस्तावेज़ जो इस टूल के साथ काम करने वाले फ़ॉर्मैट को परिभाषित करते हैं।

संबंधित टूल्स