تنسيق وتحويل YAML
منسق YAML ومدقق مجاني عبر الإنترنت — اكتشف نقطتين في غير محلهما في docker-compose.yml قبل أن يكسر نشرك، تحقق من Helm chart، أو حوّل مقطع JSON من kubectl إلى YAML قابل للتحرير. الصق YAML للتحقق من الصياغة وإعادة الإصدار بمسافة بادئة متسقة، أو حوّل بين YAML و JSON في أي اتجاه. وضع الكشف التلقائي يختار العملية الصحيحة بناءً على الإدخال. YAML 1.2 (المواصفات الحديثة — بدون مشكلة النرويج) مع دعم كامل للمستندات المتعددة: الملفات بمستندات --- متعددة تُحلَّل وتُعاد إصدارها بشكل صحيح، مطابقة لما يتوقعه `kubectl apply` و`helm template`. مسافة بادئة 2 أو 4 مسافات، اختياريًا فرز المفاتيح أبجديًا لـ git diffs حتمية.
كيفية الاستخدام
الكشف التلقائي يختار الاتجاه الصحيح افتراضيًا.
مسافتان قياسي لـ YAML؛ sort-keys مفيد للديف.
يظهر الإخراج المتحقق منه والمعاد تنسيقه (أو المحول) على اليمين.
حافظة بنقرة واحدة أو حفظ كـ .yaml / .json.
تحقق وأعد تنسيق YAML، أو ذهاب وإياب بين YAML و JSON — مواصفات YAML 1.2 بدعم المستندات المتعددة
المميزات
الاستخدامات النموذجية
- التحقق من docker-compose.yml أو بيان kubernetes قبل النشر.
- تحويل تكوين JSON API إلى YAML للاستخدام في GitHub Actions.
- تطبيع مسافة YAML البادئة عبر الفريق — فرز المفاتيح لـ diffs حتمية.
- تحويل مقطع Kubernetes JSON من kubectl إلى YAML للتحرير.
- اكتشاف خطأ صياغة في ملف YAML متعدد المستندات (نقطتان في غير محلهما).
لماذا هذا
التحقق فوري مع كل ضغطة مفتاح — بدون رحلة kubectl --dry-run للعثور على نقطتين في غير محلهما. الكشف التلقائي يتعامل مع كلا الاتجاهين؛ فرز المفاتيح ينتج إخراجًا حتميًا مناسبًا لـ git diffs (يطابق ما يكتبه `yq -P`). دعم المستندات المتعددة يعني أن بيانات Kubernetes الحقيقية وسير عمل GitHub Actions وقوالب Helm chart تذهب وتعود بنظافة.
الأسئلة الشائعة
لماذا يعيد فرز المفاتيح ترتيب قائمتي؟
يؤثر فرز المفاتيح فقط على مفاتيح الكائن (التعيين)، وليس على ترتيب القائمة (التسلسل). إذا كان YAML يستخدم قوائم مرتبة، تبقى مرتبة؛ إذا كان يستخدم كائنات بمفاتيح، يتم فرز هذه المفاتيح أبجديًا. نفس سلوك `yq -P sort_keys(..)`.
ماذا عن YAML 1.1 مقابل 1.2؟
هذه الأداة تستهدف YAML 1.2 — المواصفات الحديثة الأكثر أمانًا المستخدمة في Kubernetes وGitHub Actions وAnsible الحديث. YAML 1.1 لديه "مشكلة النرويج" الشهيرة حيث رمز البلد غير المقتبس `no` يُحلَّل كقيمة منطقية `false`؛ 1.2 أصلح هذا بطلب `true`/`false` صريحة للقيم المنطقية. إذا جاء ملفك من خط أنابيب Ruby/Puppet قديم يتوقع 1.1، تحقق مرتين من أن السلاسل غير المقتبسة `yes`, `no`, `on`, `off` تذهب وتعود كما تتوقع.
YAML متعدد المستندات؟
نعم — يتم تحليل المستندات المفصولة بـ --- بشكل فردي. مخرج JSON لـ YAML متعدد المستندات هو مصفوفة JSON.
المراسي والأسماء المستعارة (&foo / *foo)؟
يتم التحليل بشكل صحيح. عند إصدار YAML، سيحافظ المنسق على الأسماء المستعارة حيثما أمكن (اعتمادًا على flow_level)، لكن البنية متعارف عليها — قد لا يبقى وضع &/* الدقيق الخاص بك على قيد الحياة في رحلة ذهاب وإياب.
الموبايل؟
نعم — تتكدس الإدخال والإخراج على الشاشات الضيقة.
يمكننا ذلك مجاناً! أرسل لنا رسالة قصيرة بفكرتك. إذا أردت مناقشة التفاصيل، اترك بريدك الإلكتروني وسنتواصل معك. يمكنك البقاء مجهولاً.