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-स्पेस इंडेंट के साथ फॉर्मेट किया हुआ। संरचना, ट्री और पाथ पार्स किए गए दस्तावेज़ से अपडेट होते हैं।
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
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 को बूलियन मानता है, लेकिन कोटिंग ही एकमात्र आउटपुट है जो दोनों वर्ज़न के तहत सुरक्षित है।
प्रामाणिक संदर्भ
मानक और आधिकारिक दस्तावेज़ जो इस टूल के साथ काम करने वाले फ़ॉर्मैट को परिभाषित करते हैं।
संबंधित टूल्स
JSON फ़ॉर्मेटर
बुद्धिमान इंडेंटेशन और सिंटैक्स हाइलाइटिंग के साथ JSON डेटा को फ़ॉर्मेट, मान्य और सुंदर बनाएं
JSON सुधार
गलत या अमान्य JSON तुरंत ठीक करें: गायब कॉमा, बिना उद्धरण कुंजियाँ, अतिरिक्त कॉमा और कटी हुई LLM आउटपुट — सब आपके ब्राउज़र में
JSONL फ़ॉर्मेटर
JSON Lines (NDJSON) फ़ाइलें फ़ॉर्मेट करें, हर पंक्ति सत्यापित करें और JSON ↔ JSONL बदलें — सब ब्राउज़र में