YAML فارمیٹر اور ویلیڈیٹر
YAML پیسٹ کریں، 2-اسپیس انڈینٹیشن میں فارمیٹ کریں، یا سنٹیکس چیک کریں۔ YAML 1.2 سخت موڈ۔ کوئی اپ لوڈ نہیں۔
- بائیں ٹیکسٹ ایریا میں اپنا YAML پیسٹ کریں۔
- فارمیٹ پر کلک کریں تاکہ پارسر کے ذریعے راؤنڈ-ٹرپ ہو اور کینونیکل YAML نکلے۔
- تصدیق پر کلک کریں ان پٹ کو تبدیل کیے بغیر سنٹیکس چیک کرنے کے لیے۔
- غلطیاں غلط لائن اور کالم کی نشاندہی کرتی ہیں۔
یہ کیا کرتا ہے؟
js-yaml کے YAML 1.2 سخت موڈ میں آپ کا YAML پارس کرتا ہے اور 2-اسپیس انڈینٹیشن، 100-کالم لائن چوڑائی، اور مستقل کوٹنگ کے ساتھ اسے دوبارہ ایمٹ کرتا ہے۔ تصدیق بٹن ان پٹ تبدیل کیے بغیر سنٹیکس چیک کرتا ہے اور پہلی غلطی رپورٹ کرتا ہے۔ آؤٹ پٹ ان پٹ کے ساتھ معنوی طور پر مساوی ہے — اقدار، اقسام اور ساخت محفوظ ہیں۔
مثال
بے ترتیب YAML ان پٹ:
name: Ada
tags: [math,logic]
active:true فارمیٹڈ آؤٹ پٹ:
name: Ada
tags:
- math
- logic
active: true عام YAML غلطیاں اور انہیں کیسے ٹھیک کریں
سخت موڈ میں YAML 1.2 وائٹ سپیس کے بارے میں بے رحم ہے۔ ذیل کے پیٹرنز زیادہ تر پارسر ناکامیوں کا احاطہ کرتے ہیں۔
- سپیسز کے بجائے ٹیبز۔ YAML 1.2 انڈینٹیشن کے لیے ٹیبز پر پابندی لگاتا ہے۔ ہر ٹیب کو سپیسز سے بدلیں۔
- متضاد انڈینٹ سطحیں۔ 4 سپیس انڈینٹڈ بھائی کے تحت 2 سپیس انڈینٹڈ بچہ ناکام ہوگا۔ ایک انڈینٹ چوڑائی منتخب کریں اور مستقل طور پر استعمال کریں۔
- بولین جال۔ YAML 1.1 میں (یہاں موڈ نہیں) `yes`, `no`, `on`, `off` بولین کے طور پر پارس ہوتے تھے۔ js-yaml 1.2 استعمال کرتا ہے، لیکن پرانے رویے پر منحصر حقیقی ان پٹس صارفین کو حیران کرتے ہیں۔ مبہم اقدار کوٹ کریں: `country: "NO"`۔
- بغیر کوٹ کے خاص حروف۔ `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` سے شروع ہونے والی اقدار کو کوٹ کرنے کی ضرورت ہے۔
- غیر مکمل کوٹ۔ گمشدہ بند ہونے والا کوٹ پارسر کو باقی فائل کو سٹرنگ کا حصہ سمجھنے پر مجبور کرتا ہے۔ رپورٹ کیا گیا لائن نمبر اصل غلطی سے دور ہو سکتا ہے۔
- اینکر / ایلیئس بے میلی۔ ایک ایلیئس `*name` غیر اعلان شدہ اینکر `&name` کا حوالہ دے کر غلطی پیدا کرتا ہے۔ تصدیق کریں کہ ہر ایلیئس کا میل کھاتا اینکر پہلے اعلان کیا گیا ہے۔
اکثر پوچھے جانے والے سوالات
کیا فارمیٹ میرا ڈیٹا تبدیل کرتا ہے؟
نہیں — صرف وائٹ سپیس، کوٹنگ، اور نمائندگی تفصیلات کا ترتیب۔ پارس شدہ ویلیو گراف یکساں ہے۔ فارمیٹ شدہ YAML اصل کی طرح ہی ان میموری ساخت میں دوبارہ پارس ہوتا ہے۔
کیا فارمیٹ کرتے وقت تبصرے محفوظ ہیں؟
نہیں۔ js-yaml ایک پارس-اور-ڈمپ راؤنڈ-ٹرپ کے ذریعے تبصرے برقرار نہیں رکھتا۔ اگر آپ کو تبصرہ-محفوظ کرنے والی YAML فارمیٹنگ کی ضرورت ہو، ایک مختلف لائبریری (آپشنز کے ساتھ yaml.js، یا `prettier --parser yaml` جیسا CLI ٹول) استعمال کریں۔
کیا میں انڈینٹیشن کو حسب ضرورت بنا سکتا ہوں؟
موجودہ بلڈ 2-اسپیس انڈینٹیشن استعمال کرتا ہے۔ حسب ضرورت بنانے کے لیے، کمانڈ لائن پر js-yaml چلائیں — وہی لائبریری — اور `{ indent: 4 }` یا جو آپ کو چاہیے پاس کریں۔
یہ کتنی بڑی YAML فائل سنبھال سکتا ہے؟
ٹیکسٹ ایریا کے سست ہونے سے پہلے تقریباً 10 MB تک۔ زیادہ تر کنفگ فائلیں 1 MB سے کافی نیچے ہیں۔
کیا میرا YAML اپ لوڈ ہوتا ہے؟
نہیں۔ سب کچھ آپ کے براؤزر میں چلتا ہے — آپ کا ان پٹ اس صفحے کے JavaScript کے ذریعے پارس اور دوبارہ-سیریلائز ہوتا ہے اور کبھی کسی سرور پر نہیں بھیجا جاتا۔
کیا یہ ڈپلیکیٹ کیز جیسے سٹائل مسائل کے لیے لنٹ کرتا ہے؟
js-yaml ڈیفالٹ کنفگ میں ڈپلیکیٹ کیز کو رد کرے گا (ایک YAML 1.2 سخت ضرورت)۔ متضاد کوٹنگ یا اینکر نام سازی جیسے دیگر سٹائل مسائل پر نشان نہیں لگایا جاتا — اس کے لیے yamllint جیسے ایک مخصوص لنٹر کی ضرورت ہے۔