تحويل TOML إلى YAML — Numio
يحوّل مستند TOML إلى YAML. تصبح الجداول mappings متداخلة، و[[array of tables]] قوائم من mappings، ولا تُضاف علامات الاقتباس إلا حيث يحتاجها YAML (فمثلًا يبقى "2021" سلسلة نصية).
نقل الإعدادات من ملف TOML (Cargo أو pyproject أو Hugo) إلى أداة قائمة على YAML مثل سير عمل CI أو ملف Kubernetes manifest.
TOML
YAML
متى تستخدمها
- نقل الإعدادات من ملف TOML (Cargo أو pyproject أو Hugo) إلى أداة قائمة على YAML مثل سير عمل CI أو ملف Kubernetes manifest.
- قراءة ملف TOML طويل يحتوي على جداول منقّطة ومتداخلة كشجرة بمسافات بادئة.
طريقة الاستخدام
- الصق مستند TOML في المحرر الأيسر، أو استخدم زر تحميل الملف لفتح ملف بترميز UTF-8.
- إذا ظهر خطأ فاستخدم السطر والعمود المذكورين للعثور على المفاتيح المكررة أو مشكلات الصياغة.
- تحقق من قيم التاريخ والوقت والقيم الموضوعة بين علامتي اقتباس في YAML، ثم انسخه.
TOML
# Cargo-style manifest
[package]
name = "demo"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
[[bin]]
name = "cli"
path = "src/main.rs"YAML
package:
name: demo
version: 0.1.0
edition: "2021"
dependencies:
serde:
version: "1.0"
features:
- derive
bin:
- name: cli
path: src/main.rsالتفاصيل والقيود
تُحذف التعليقات. تُحوَّل قيم التاريخ والوقت ذات الإزاحة إلى UTC (يصبح 2024-01-05T10:00:00+09:00 هو 2024-01-05T01:00:00.000Z) وتُضاف الأجزاء من الألف من الثانية.
تتبع المخرجات YAML 1.2، لذا تُكتب سلاسل مثل yes وon بلا علامات اقتباس. قد تقرؤها محللات YAML 1.1 (مثل PyYAML) كقيم منطقية؛ ضعها بين علامتي اقتباس يدويًا عند الحاجة.
تُكتب الأوقات المحلية مثل 09:00:00 بالأجزاء من الألف من الثانية (09:00:00.000)؛ وتبقى التواريخ والتواريخ مع الأوقات المحلية بلا منطقة زمنية.
يعمل في متصفحك (@iarna/toml وyaml وPrettier)؛ تصبح inf وnan هما .inf و.nan.
FAQ
هل تُحفظ التعليقات؟
لا. يُحلَّل TOML إلى بيانات أولًا، فتضيع التعليقات والأسطر الفارغة. انقل التعليقات المهمة يدويًا.
كيف تُحوَّل [[array of tables]]؟
تصبح كل كتلة [[bin]] عنصرًا واحدًا في قائمة YAML تحت bin، كما يظهر في المثال.
لماذا أحصل على "Can't redefine existing key"؟
عُرِّف المفتاح نفسه أو الجدول نفسه مرتين، وهو ما يمنعه TOML. يذكر الخطأ السطر والعمود للتعريف الثاني.