TOML إلى YAML

ترجم مستندات TOML إلى YAML مع فرز مفاتيح اختياري والتحكم بالمسافات البادئة.

ترجم مستندات TOML إلى YAML مع فرز مفاتيح اختياري والتحكم بالمسافات البادئة. ترجم مستندات TOML إلى YAML مع فرز مفاتيح اختياري والتحكم بالمسافات البادئة.

الإخراج

خلفية

لماذا التنقل بين TOML وYAML

تستهدف الصيغتان ملفات الإعدادات التي يحررها البشر، لكن النظام البيئي حولهما مختلف. TOML هو المعيار لتغليف بايثون (pyproject.toml) وRust (Cargo.toml) وسير عمل GitHub والعديد من أدوات سطر الأوامر. YAML هو المعيار لـ Kubernetes وAnsible وDocker Compose وGitHub Actions (الصياغة الأقدم) والعديد من أنظمة CI.

أحيانًا تحتاج إلى التعبير عن نفس الإعدادات بالصيغتين: إعادة استخدام مقتطف pyproject.toml داخل playbook في Ansible، أو نسخ ConfigMap في Kubernetes إلى كتلة تبعيات Cargo.toml. محول TOML-إلى-YAML يجعل الترجمة ميكانيكية.

ما ينجو من التحويل

التعيينات والتسلسلات والقيم العددية (السلاسل والأعداد الصحيحة والأعداد العشرية والقيم المنطقية وتواريخ ISO) والجداول المضمّنة والمفاتيح المنقوطة كلها تترجم بسلاسة. تُصدر السلاسل متعددة الأسطر ككيانات كتلة YAML، محافظة على التخطيط البصري الذي اختاره مؤلف TOML الأصلي.

ما لا ينجو

وسوم YAML (!!str, !!int, إلخ.) تُصدر فقط عندما يختلف النوع الأساسي عن استدلال YAML الافتراضي. عمليًا، يتطابق اختيار المحلل مع ما يتوقعه معظم القراء. لا تُنتج مراسي YAML افتراضيًا لأن كل قيمة TOML مكتفية ذاتيًا تمامًا؛ إذا أردت أشجارًا فرعية مشتركة، أدخلها يدويًا.

نصائح سير العمل

بعد التحويل، مرّر YAML عبر مدقق لغوي (yamllint, kubeconform) قبل الالتزام. يترجم المحول الصياغة، لا الأسلوب: لا يمكنه معرفة ما إذا كنت تقصد اتباع snake_case أو kebab-case، أو ما إذا أردت مسافة بادئة بعرض 2 أو 4. اتفاقيات مشروعك هي التي تقرر ذلك.

مبنية حول مكتبتين مرخصتين MIT/BSD-3 مرفقتين في public/assets: smol-toml للتحليل وjs-yaml للتصدير. يبقى إدخالك في هذه الصفحة.

الأسئلة الشائعة

هل يدعم المحول مصفوفات جداول TOML؟
نعم. تصبح ترويسات `[[name]]` عناصر تسلسل YAML تحت مفتاح `name`، مع الحفاظ على ترتيب الجداول.
هل سيحافظ إخراج YAML على تعليقات TOML الخاصة بي؟
لا. تُجرد تعليقات TOML بواسطة المحلل. أضف التعليقات يدويًا في إخراج YAML عند الحاجة.
كيف تُمثل تواريخ TOML في YAML؟
تصبح التواريخ والتواريخ الزمنية سلاسل YAML بنفس تمثيل ISO. يوزعها معظم مستهلكي YAML بمكتبة التواريخ في لغتهم.
ماذا عن الجداول المضمّنة في TOML؟
تصبح تعيينات YAML متداخلة في سطر واحد. تتطلب بعض أدلة الأنماط نمط الكتلة للقراءة؛ حوّل يدويًا إذا اشتكى المدقق اللغوي لديك.
لماذا يستخدم الإخراج علامات اقتباس مزدوجة حول السلاسل؟
تحظر السلاسل المفردة المقتبسة في YAML تسلسلات الهروب، وللكيانات القياسية العادية في YAML كلمات محجوزة؛ علامات الاقتباس المزدوجة هي الخيار الافتراضي الأكثر أمانًا لإعادة تدوير نص عشوائي.
هل يُرفع TOML الخاص بي؟
لا. يحدث التحليل محليًا عبر smol-toml والتصدير عبر js-yaml. لا يُرسَل شيء إلى خادم.