منسق YAML
نسِّق وصادق وحوّل مستندات YAML مع تلوين تركيبي وكشف عن الأخطاء
إدخال YAML
المخرجات المنسّقة
الفاحص
خيارات متقدمة
قارن مع ملف YAML آخر
أرسل هذا المستند إلى Data Diff والصق نسخة ثانية لترى ما الذي تغيّر.
تحقق من الصحة مع موضع الخطأ الدقيق
يعمل التحقق من الصحة مع كل ضغطة مفتاح باستخدام محلل js-yaml 1.2. تحصل المستندات الصالحة على إحصاءات حية لعدد المستندات والتعيينات (mappings) والتسلسلات (sequences) والمفاتيح والعمق، بينما تعرض المستندات المعطوبة السطر والعمود الدقيقين وسببًا محتملًا وتظليلًا عند الموضع الذي فشل فيه التحليل — وليس مجرد "syntax error".
أخطاء YAML الشائعة التي تحددها هذه الأداة بدقة
تمثل هذه الأخطاء معظم حالات YAML غير الصالحة، ويتم كشف كل منها مع الموضع وسبب محتمل:
مسافة بادئة خاطئة
سطر فرعي بمسافة بادئة أقل من سطره الأصلي، أو أسطر متجاورة غير متوافقة في المحاذاة. يُبلَّغ عنه عادةً برسالة "bad indentation of a mapping entry" عند السطر الدقيق.
حرف TAB
يحظر YAML استخدام محارف الجدولة في المسافة البادئة. يُبلِّغ المحلل عن "found a tab character that violates indentation" ويُظلِّل السطر المخالف.
مفتاح مكرر
نفس المفتاح مرتين في mapping واحد. يُبلِّغ js-yaml عن "duplicated mapping key" مع سطر الظهور الثاني.
نقطتان أو مسافة مفقودة
مفتاح بدون قيمة ("key key2") أو نقطتان ملتصقتان بالمفتاح ("key:value" تُعامل كسلسلة نصية عادية وليست زوجًا). يُبلَّغ عنه برسالة "could not find expected ':'".
قبل / بعد
ملف Kubernetes manifest مصغَّر على اليسار، والمستند نفسه منسَّقًا بمسافة بادئة بمسافتين على اليمين. تُحدَّث البنية والشجرة والمسارات انطلاقًا من المستند المُحلَّل.
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
template:
metadata:
labels:
app: web
مرجع سريع لـ YAML (YAML 1.2)
- الإزاحة هي البنية: مسافات فقط — لا يُسمح أبدًا باستخدام محارف TAB في الإزاحة.
- يجب أن تتبع النقطتين مسافة لكي تُعتبرا فاصلًا للمفتاح: "key: value" وليس "key:value".
- تُحل القيم القياسية (Scalars) إلى أنواعها وفق المخطط الأساسي (core schema): true/false (قيم منطقية)، وأعداد صحيحة، وأعداد عشرية، وnull (~ / null / فارغ). لاحظ أن "yes"/"no" سلاسل نصية عادية في الإصدار 1.2.
- تُفصل المستندات المتعددة في ملف واحد بسطر "---"، بينما يُنهي "..." المستند.
- تحافظ المراسي (Anchors) بصيغة (&base) والأسماء البديلة (Aliases) بصيغة (*base) على مبدأ DRY في الملفات، وتتيح مفاتيح الدمج ("<<: *base") توريث التعيينات (mappings).
الخطوات التالية مع هذه البيانات
التنسيق هو الخطوة الأولى. تابع سير العمل دون مغادرة متصفحك:
الأسئلة الشائعة
إجابات على الأسئلة الشائعة حول تنسيق Yaml Formatter
يتبع المنسّق مواصفات YAML 1.2، مما يضمن التوافق مع الأدوات الحديثة مثل Kubernetes وDocker Compose وGitHub Actions وغيرها من المنصات السحابية الأصلية (cloud-native).
نعم، تتيحك ميزة التحويل ثنائي الاتجاه تحويل YAML إلى JSON ومن JSON إلى YAML مع الحفاظ على أنواع البيانات والبنى المتداخلة والتعليقات حيثما ينطبق ذلك.
بالتأكيد. صُمم المنسّق للتعامل مع ملفات Manifests الخاصة بـ Kubernetes وملفات Docker Compose وتدفقات CI/CD وسائر ملفات YAML متعددة المستندات مع الفصل السليم بين الأقسام.
يتحقق المدقق من اتساق الإزاحة، والاستخدام الصحيح للنقطتين والشرطات، وتوازن علامات الاقتباس في السلاسل النصية، ومراجع المراسي والأسماء البديلة، كما يقدم رسائل خطأ محددة برقم السطر لتصحيح الأخطاء بسرعة.
نعم، يتعامل المنسّق بشكل صحيح مع مراسي YAML (&) والأسماء البديلة (*) ومفاتيح الدمج (<<)، مع الحفاظ على هذه الميزات الموفرة للتكرار (DRY) أثناء تنسيق البنية المحيطة.
YAML 1.2، وهي المواصفة الحالية من yaml.org - وهي الإصدار الذي تستهدفه مستندات Kubernetes وdocker-compose وGitHub Actions. جعلت YAML 1.2 من JSON مجموعة فرعية صالحة وأحكمت تحليل القيم المنطقية؛ ويحافظ المنسّق على اقتباس صريح في المواضع التي قد يُسيء فيها محللات الإصدار 1.1 (الشائعة حتى الآن في Python PyYAML) تفسير قيم مثل "no" أو "0777".
تحافظ مراسي YAML والأسماء البديلة والمقاطع النصية (block scalars) على التعليقات دون تغيير، أما التعليق المرتبط بمفتاح تُعاد إزاحته فينتقل مع مستوى الإزاحة الخاص به. لا يحذف المنسّق التعليقات أبدًا - بل ينقلها بأدنى حد ممكن لتبقى مرتبطة بالعقدة التي توثقها.
يُشير إليها: القيم المجردة NO وno وON وon وyes وn تُقتبس تلقائيًا أثناء التنسيق، حتى لا يتمكن محللات YAML 1.1 من تحويلها إلى قيم منطقية. وتظل قائمة رموز الدول [NO, SE, DK] ثلاث سلاسل نصية. لا يعتبر الإصدار YAML 1.2 سوى true/false قيمًا منطقية، لكن الاقتباس هو المخرَج الوحيد الآمن في كلا الإصدارين.
مراجع موثوقة
المعايير والوثائق الرسمية التي تُعرِّف الصيغ التي تعمل بها هذه الأداة.
الأدوات ذات الصلة
منسق JSON
نسّق بيانات JSON وتحقق من صحتها وجمّلها مع مسافات بادئة ذكية وتظليل لبناء الجملة
إصلاح JSON
أصلح JSON المشوّه أو غير الصالح أو التالف فورًا. عالج مخرجات LLM المبتورة، والفواصل الناقصة، والمفاتيح بدون علامات اقتباس، والفواصل الزائدة في النهاية — كل ذلك داخل متصفحك
منسّق JSONL
نسّق ملفات JSON Lines (NDJSON) وحوّل بين JSON و JSONL. تحقّق من صحة كل سطر واعرض تدفقات NDJSON بتنسيق منسّق