منسق ومدقق YAML
قم بتنسيق والتحقق من وتجميل YAML عبر الإنترنت. يبرز أخطاء الصياغة فورًا مع أرقام الأسطر. مجاني ويعمل بالكامل في متصفحك.
طريقة الاستخدام
- الصق YAML في منطقة الإدخال
- انقر على «تنسيق والتحقق» للتجميل وفحص الصياغة
- إذا كان YAML غير صالح، ستظهر رسالة خطأ توضح السطر الدقيق والمشكلة
- اضبط محدد المسافة البادئة للتحكم في مسافة الإخراج البادئة
- انقر على «نسخ» لنسخ النتيجة المنسقة، أو «مسح» لإعادة التعيين
الأسئلة الشائعة
-
ما هو التحقق من صحة YAML؟
يتحقق التحقق من صحة YAML من أن مستندك يتبع صياغة YAML الصحيحة — المسافات البادئة المناسبة، وعدم وجود مفاتيح مكررة، وأنواع بيانات صالحة، والاستخدام الصحيح للأحرف الخاصة.
-
هل يغير التنسيق بياناتي؟
لا. يغير التنسيق المسافات البيضاء والمسافات البادئة فقط. تبقى بنية البيانات والقيم كما هي تمامًا.
-
ما هي أخطاء صياغة YAML الشائعة؟
تشمل الأخطاء الشائعة: المسافة البادئة غير المتسقة (الخلط بين علامات التبويب والمسافات)، غياب النقطتين بعد المفاتيح، السلاسل غير المقتبسة التي تحتوي على أحرف خاصة مثل : أو #، والمفاتيح المكررة.
-
هل يُرسَل YAML الخاص بي إلى خادم؟
لا. يتم التنسيق والتحقق بالكامل في متصفحك باستخدام مكتبة js-yaml. لا تغادر بياناتك جهازك أبدًا.
-
ما الفرق بين YAML وJSON؟
YAML هو مجموعة شاملة من JSON تدعم التعليقات والسلاسل متعددة الأسطر وهي أقل إسهابًا. يستخدم JSON الأقواس المعقوفة والاقتباسات، بينما يستخدم YAML المسافة البادئة. يُستخدم YAML عادةً في ملفات الإعداد، بينما يُستخدم JSON في واجهات برمجة التطبيقات.
بنية YAML ومبادئها الأساسية
YAML اختصار لـ "YAML Ain't Markup Language" (وهو اختصار متكرر "recursive acronym")، ومن قبل كانت تعني "Yet Another Markup Language". يُعدّ YAML تنسيق تسلسل بيانات مُصمَّمًا بالأساس ليكون مقروءًا للإنسان، وهو ما يجعله الخيار الأول لملفات الإعداد.
المبادئ الجوهرية لـ YAML
المسافة البادئة هي المفتاح: على عكس JSON الذي يستخدم أقواسًا، يعتمد YAML على المسافة البادئة لتحديد التسلسل الهرمي. هذا يجعله أجمل بصريًا لكنه أيضًا مصدر الأخطاء الأكثر شيوعًا.
# مثال بسيط لملف إعداد
server:
host: localhost
port: 8080
debug: true
database:
name: myapp
max_connections: 100
قواعد المسافة البادئة:
- استخدم مسافات فقط، لا علامات تبويب (Tab) أبدًا.
- يجب أن تكون المسافة البادئة للعناصر المتفرعة أكبر من العنصر الأب.
- الحجم الشائع هو مسافتان أو أربع مسافات.
YAML مقارنةً بـ JSON
YAML وJSON يحلّان مشكلة مشابهة لكن بفلسفتين مختلفتين:
مزايا YAML على JSON
- التعليقات: YAML يدعم التعليقات بعلامة
#، بينما JSON لا يدعمها. هذا يجعل ملفات الإعداد المعلّقة ممكنة. - قابلية القراءة: بدون أقواس واقتباسات مفرطة، يبدو YAML أكثر نظافة للعين البشرية.
- السلاسل متعددة الأسطر: YAML يدعم نصوصًا تمتد عبر أسطر متعددة بصورة طبيعية.
- الأنواع الضمنية: YAML يُحوّل القيم تلقائيًا —
trueتصبح Boolean،123تصبح Integer.
مزايا JSON على YAML
- الدقة: JSON أكثر صرامة وأقل تطرفًا في التفسير.
trueدائمًا تعني Boolean. - الأداء: تحليل JSON أسرع بشكل عام.
- الدعم الواسع: كل لغة تقريبًا تدعم JSON بشكل أصلي.
- اللا غموض: لا توجد تفسيرات متعددة لنفس النص.
الأخطاء الشائعة في YAML
الخلط بين Tabs والمسافات
هذا الخطأ الأكثر شيوعًا والأصعب اكتشافًا بصريًا. كثير من المحررين النصية تُظهر الـ Tab والمسافات بشكل متشابه. الحل: اضبط محررك على تحويل Tabs إلى مسافات تلقائيًا.
المسافة البعد النقطتين
في YAML، يجب وجود مسافة بعد النقطتين في أزواج المفتاح-القيمة:
# خاطئ
name:Ahmed
# صحيح
name: Ahmed
الأحرف الخاصة في القيم
بعض الأحرف لها معنى خاص في YAML مثل : و# و[ و{. القيم التي تحتوي عليها تحتاج إلى اقتباس:
# خاطئ — الـ # يبدأ تعليقًا
message: Hello # World
# صحيح
message: "Hello # World"
القيم المنطقية المفاجئة
YAML يُفسّر قيمًا مثل yes, no, on, off, true, false كقيم منطقية تلقائيًا في YAML 1.1. هذا يُسبب مشاكل مع رموز الدول مثل NO (النرويج) أو YES. الحل هو الاقتباس.
YAML في بيئات DevOps
YAML أصبح لغة de-facto لعالم DevOps:
- Kubernetes: كل موارد K8s تُعرَّف بملفات YAML (Pods، Deployments، Services).
- Docker Compose: ملفات
docker-compose.ymlلتعريف الخدمات. - GitHub Actions وGitLab CI: خطوط الأنابيب تُكتب بـ YAML.
- Ansible: المهام والمسرحيات بصيغة YAML.
- Helm Charts: قوالب Kubernetes بـ YAML مع قوالب Go.
هذا الانتشار الواسع يجعل إتقان YAML وتنسيقه مهارة أساسية لأي مطور أو مهندس DevOps.