منسّق YAML

تعمل في المتصفح التنسيق

حلّل YAML، وأبلغ عن أخطاء الصياغة مع أرقام الأسطر، وأعد إخراج مستند نظيف بالمسافة البادئة التي تختارها — مثالي لملفات Kubernetes وDocker Compose وGitHub Actions وOpenAPI.

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام منسّق YAML

  1. الصق YAML.
  2. اختر المسافة البادئة ونمط المجموعات وعلامات الاقتباس.
  3. أصلح أي خطأ يُبلَّغ عنه وانسخ المستند النظيف.

مزايا منسّق YAML

  • تحليل YAML 1.2 والإبلاغ عن أخطاء الصياغة مع رقم السطر والعمود ومقتطف
  • إعادة الإخراج بمسافة بادئة من مسافتين أو 4 مسافات وعلامات اقتباس متسقة
  • النمط الكتلي (block) أو الانسيابي (flow) للمجموعات، وترتيب اختياري للمفاتيح
  • دعم التدفقات متعددة المستندات (---)
  • اكتشاف المفاتيح المكررة وقنابل الأسماء المستعارة (alias bombs)
  • مثالي لملفات Kubernetes وDocker Compose وGitHub Actions وOpenAPI

مثال على منسّق YAML

توحيد المسافة البادئة

الإدخال:

services:
    web:
        image: nginx
        ports: [ "80:80" ]

النتيجة:

services:
  web:
    image: nginx
    ports:
      - "80:80"

الأسئلة الشائعة حول منسّق YAML

هل يحتفظ بالتعليقات؟

لا. يُحلَّل المستند ويُعاد إخراجه، ولذلك تُزال التعليقات وتُحلّ المراسي (anchors). استخدمه لتوحيد المسافات البادئة وعلامات الاقتباس لا للملفات الغنية بالتعليقات.

ما الأخطاء التي يُبلَّغ عنها؟

أخطاء الصياغة مع رقم السطر والعمود، والمفاتيح المكررة، والمسافات البادئة الخاطئة، وعلامات الاقتباس غير المغلقة. ويعرض مقتطف الخطأ الأسطر المحيطة.

هل يمكنني تنسيق ملفات متعددة المستندات؟

نعم. تُنسَّق المستندات المفصولة بـ --- كلٌّ على حدة ثم يُعاد ضمّها بفواصل ---.

لماذا تغيّرت قيم "yes"/"no" أو "1.0" لديّ؟

لم تتغير — يُخرج المنسّق القيم وفق المخطط الأساسي (core schema) في YAML 1.2، ولذلك توضع السلاسل النصية التي قد تُقرأ كقيم منطقية أو أرقام بين علامات اقتباس للحفاظ على نوعها.

ملاحظات تقنية

التنسيق هو تحليل ثم إعادة إخراج عبر حزمة yaml: تعمل parseAllDocuments في الوضع الصارم مع تفعيل uniqueKeys وmerge، ثم يُطبَّع كل مستند إلى قيم آمنة في JSON ويُطبع من جديد بقيمة lineWidth تساوي 0. ونتيجة لذلك تُوسَّع المراسي والأسماء المستعارة ومفاتيح الدمج << إلى نسخ عادية، ويتحوّل !!timestamp و!!binary إلى سلاسل ISO 8601 وbase64، وتُحذف الوسوم الصريحة، وتُقرَّب الأعداد الصحيحة التي تتجاوز 2^53 − 1. وفي مخطط 1.2 الأساسي تبقى yes/no/on/off سلاسل نصية.

ولأن كل مستند يصبح كائن JavaScript بين التحليل والطباعة، تُحاط المفاتيح الشبيهة بالأعداد الصحيحة (0 و1 و42) بعلامات اقتباس وتُقدَّم إلى المقدمة بترتيب تصاعدي حتى مع تعطيل الفرز؛ أما «فرز المفاتيح» فيرتّب وفق وحدات ترميز UTF-16، فتسبق الأحرف الكبيرة الصغيرة. وتُزاح التسلسلات الكتلية تحت مفتاحها الأب، وتتحوّل السلاسل متعددة الأسطر إلى كتل حرفية |، ويطوي «نمط التدفق» المستند كله في سطر واحد، ويُعاد وصل المستندات المتعددة بـ --- (ويُطبع المستند الفارغ كـ null).