مُنسِّق YAML والمدقِّق
الصق YAML، نسِّق بمسافتين أو تحقق من الصياغة. وضع YAML 1.2 الصارم. بدون رفع.
- الصق YAML في منطقة النص اليمنى.
- انقر «تنسيق» للذهاب والعودة عبر المحلِّل وإصدار YAML قانوني.
- انقر «تحقق» لفحص الصياغة دون تعديل المدخل.
- تشير الأخطاء إلى السطر والعمود المخالف.
ماذا تفعل؟
يحلل YAML الخاص بك بـ js-yaml في وضع YAML 1.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 مسافات سيفشل. اختر عرض بادئة واحد واستخدمه باستمرار.
- مصائد بولية. في YAML 1.1 (ليس الوضع هنا)، كانت `yes` و `no` و `on` و `off` تُحلَّل قيمًا بولية. يستخدم js-yaml 1.2، لكن المدخلات الواقعية التي تعتمد على السلوك القديم قد تفاجئ المستخدمين. اقتبس القيم الملتبسة: `country: "NO"`.
- محارف خاصة بدون اقتباس. القيم التي تبدأ بـ `:` أو `?` أو `&` أو `*` أو `!` أو `|` أو `>` أو `\'` أو `"` أو `%` أو `@` أو `` ` `` تحتاج اقتباسًا.
- علامة اقتباس غير منتهية. فقدان علامة اقتباس إغلاق يجعل المحلِّل يمتص باقي الملف ضمن السلسلة. قد يكون رقم السطر المُبلَّغ بعيدًا عن الخطأ الفعلي.
- عدم تطابق المرساة / الاسم البديل. اسم بديل `*name` يشير إلى مرساة `&name` غير مُعلَنة يثير خطأً. تحقَّق أن لكل اسم بديل مرساة مطابقة مُعلَنة سابقًا.
الأسئلة الشائعة
هل يغيّر التنسيق بياناتي؟
لا — تتغيَّر فقط المسافات والاقتباس وترتيب التفاصيل التمثيلية. يبقى رسم القيم المُحلَّلة متطابقًا. يُحلَّل YAML المنسَّق إلى نفس البنية في الذاكرة كالأصل.
هل تُحفَظ التعليقات أثناء التنسيق؟
لا. لا يحتفظ js-yaml بالتعليقات عبر دورة تحليل-وإصدار. لتنسيق YAML يحفظ التعليقات استخدم مكتبة مختلفة (مثل yaml.js مع خيارات) أو أداة سطر أوامر مثل `prettier --parser yaml`.
هل يمكنني تخصيص البادئة؟
يستخدم البناء الحالي بادئة بمسافتين. للتخصيص شغّل js-yaml من سطر الأوامر — نفس المكتبة — ومرّر `{ indent: 4 }` أو ما تحتاج.
ما حجم ملف YAML الذي يمكن معالجته؟
حتى نحو 10 ميغابايت قبل أن تتباطأ منطقة النص. معظم ملفات الإعدادات أقل بكثير من 1 ميغابايت.
هل يُرفَع YAML الخاص بي؟
لا. كل شيء يعمل في متصفحك — يُحلَّل مدخلك ويُعاد تسلسلُه بـ JavaScript على هذه الصفحة ولا يُرسَل إلى أي خادم.
هل يفحص هذا مشكلات الأسلوب مثل المفاتيح المكرَّرة؟
يرفض js-yaml في إعداده الافتراضي المفاتيحَ المكرَّرة (متطلَّب YAML 1.2 الصارم). لا تُعلَّم مشكلات أسلوب أخرى مثل اقتباس متضارب أو تسمية مراسٍ — يحتاج ذلك إلى مدقِّق متخصِّص مثل yamllint.