वैकल्पिक कुंजी सॉर्टिंग और एंकर/एलियस विस्तार नियंत्रण के साथ YAML दस्तावेज़ों को सुंदर-प्रिंट, मान्य, और निरीक्षण करें।
वैकल्पिक कुंजी सॉर्टिंग और एंकर/एलियस विस्तार नियंत्रण के साथ YAML दस्तावेज़ों को सुंदर-प्रिंट, मान्य, और निरीक्षण करें। वैकल्पिक कुंजी सॉर्टिंग और एंकर/एलियस विस्तार नियंत्रण के साथ YAML दस्तावेज़ों को सुंदर-प्रिंट, मान्य, और निरीक्षण करें।
Array
पृष्ठभूमि
YAML क्या है और व्यूअर को उपयोगी क्या बनाता है
YAML ("YAML Ain't Markup Language") एक मानव-अनुकूल डेटा
सीरियलाइज़ेशन प्रारूप है जिसका व्यापक रूप से कॉन्फ़िगरेशन फ़ाइल्स के लिए उपयोग होता है
(docker-compose.yml, Kubernetes मैनिफेस्ट्स, GitHub Actions
वर्कफ़्लोज़, Ansible प्लेबुक्स, आदि)। यह JSON की कठोरता को
इंडेंटेशन-आधारित संरचना और एक समृद्ध प्रकार प्रणाली के लिए त्याग देता है जिसमें
तिथियाँ, मल्टी-लाइन स्ट्रिंग्स, और संदर्भ शामिल हैं।
चूँकि YAML नेस्टिंग व्यक्त करने के लिए इंडेंटेशन पर निर्भर करता है, इसलिए कोई खोई हुई
जगह पूरे दस्तावेज़ के अर्थ को बदल सकती है, और अधिकांश एडिटर्स
पदानुक्रम को दृश्य रूप से हाइलाइट नहीं करते। एक व्यूअर दस्तावेज़ को पार्स करता है
और इसे निरंतर इंडेंट के साथ पुनः उत्सर्जित करता है, जो
इंडेंटेशन की गलतियों को तब उजागर करता है जब वह संरचना को प्रकट करता है।
जानने लायक विशेषताएँ
अधिकांश व्यूअर्स आपको कुछ व्यवहार टॉगल करने देते हैं: स्थिर डिफ़ के लिए कुंजियाँ
वर्णानुक्रम में सॉर्ट करें, YAML एंकर और
एलियस (the & / * syntax) का विस्तार या हटाव करें, और इंडेंटेशन चौड़ाई चुनें।
सॉर्ट विकल्प विशेष रूप से मूल्यवान है जब दो
समान कॉन्फ़िगरेशन के स्नैपशॉट्स की तुलना कर रहे हों -- बिना इसके, कुंजी पुनः क्रमबद्ध करना
रिलीज़ों के बीच वास्तविक परिवर्तनों को छिपा सकता है।
बाइट-गिनती और शीर्ष-स्तरीय-कुंजी स्टैट्स आपको यह देखने में मदद करते हैं कि
दस्तावेज़ कितना भारी है और भार कहाँ पड़ा है। यदि आपको जानना हो कि
आपका YAML किसी एनवायरनमेंट-वेरिएबल सीमा या किसी Kubernetes
ConfigMap आकार बजट के अंदर फिट होता है या नहीं, तो वह संख्या वहीं है।
वर्कफ़्लो टिप्स
किसी पार्स त्रुटि को डिबग करते समय, दस्तावेज़ को किसी नए व्यूअर
टैब में कॉपी करें और विकल्पों को एक-एक कर टॉगल करें: कोई &anchor वाक्यरचना
तब तक टाइपो जैसी दिख सकती है जब तक आप उसे विस्तारित न देख लें। बहुत लंबी पाइपलाइनों के लिए,
सामान्य शैली गाइड्स से मेल खाने हेतु 4-स्पेस इंडेंट का उपयोग करें; इनलाइन
समीक्षा या चैट पेस्ट के लिए, 2-स्पेस अधिक सघन है। कॉन्फ़िगरेशन कमिट करते समय हमेशा
मूल दस्तावेज़ संरचना संरक्षित रखें: एक
व्यूअर निरीक्षण के लिए है, सामान्यीकरण के लिए नहीं।
अक्सर पूछे जाने वाले प्रश्न
YAML JSON जैसा अतिरिक्त कदमों के साथ क्यों दिखता है?
JSON YAML 1.2 का एक कठोर उपसमुच्चय है: हर JSON दस्तावेज़ एक वैध YAML दस्तावेज़ है। YAML टिप्पणियाँ, मल्टी-लाइन स्ट्रिंग्स, संदर्भ, और एक समृद्ध प्रकार प्रणाली ऊपर से जोड़ता है।
एंकर (&) और एलियस (*) के बीच क्या अंतर है?
कोई एंकर (`&name value`) किसी मान को किसी नाम से चिह्नित करता है; कोई एलियस (`*name`) उस मान का अन्यत्र पुनः उपयोग करता है। व्यूअर एलियस को इनलाइन विस्तारित कर सकता है (`*name` मूल मान बन जाता है) या उन्हें हटा सकता है, जो कमिट से पहले आउटपुट को सामान्यीकृत करने के लिए उपयोगी है।
क्या व्यूअर पुनः-उत्सर्जन के समय टिप्पणियाँ संरक्षित रखता है?
नहीं। अधिकांश YAML लाइब्रेरीज़ (js-yaml सहित) लोड/डंप गोल-यात्रा के दौरान टिप्पणियाँ हटा देती हैं क्योंकि YAML का डेटा मॉडल उन्हें शामिल नहीं करता। यदि टिप्पणियाँ मायने रखती हैं, तो मूल फ़ाइल को सीधे संपादित करें।
व्यूअर यह क्यों कहता है कि वह कोई टैब वर्ण नहीं ढूँढ पाता?
YAML इंडेंटेशन के लिए टैब की अनुमति नहीं देता -- केवल स्पेस। किसी ब्लॉक स्केलर के अंदर एकल टैब भी कुछ पार्सर्स को भ्रमित कर सकता है। टैब को स्पेस से बदलें और पुनः प्रयास करें।
क्या व्यूअर मल्टी-डॉक्यूमेंट YAML फ़ाइल्स को मर्ज करेगा?
यह प्रत्येक दस्तावेज़ को अलग से पार्स और पुनः उत्सर्जित करता है, पर वर्तमान व्यूअर एक बार में एकल दस्तावेज़ उत्सर्जित करता है। उन फ़ाइल्स के लिए किसी मल्टी-डॉक एडिटर का उपयोग करें।
क्या मेरा YAML अपलोड किया जाता है?
नहीं। पार्सिंग और पुनः फॉर्मैटिंग बंडल की गई js-yaml लाइब्रेरी के माध्यम से स्थानीय रूप से होते हैं; कुछ भी ब्राउज़र को नहीं छोड़ता।