Loading…

حول منسق YAML هذا منسق ومحسن YAML عبر الإنترنت

هل تعمل مع `values.yaml` أو `docker-compose.yml` أو سير عمل GitHub Actions الفوضوية؟ يقوم منسق YAML هذا بتوحيد المسافة البادئة والتفاف الأسطر مع الحفاظ على المراسي والأسماء المستعارة والقيم الكتلية. الصق YAML الخاص بك، اضبط إعدادات المسافة البادئة وانسخ التكوين النظيف الجاهز للمراجعة في ثوانٍ. 🚀

الميزات الرئيسية لمنظم YAML هذا

  • تنسيق قائم على Prettier مخصص لملفات تهيئة YAML 1.2
  • مسافات بادئة متسقة مع حجم مسافة بادئة قابل للتعديل (1–8) وخيار المسافات مقابل علامات الجدولة
  • طول سطر قابل للتعديل للحفاظ على قابلية قراءة المفاتيح والقيم الطويلة
  • يتعامل بشكل صحيح مع المراسي، والأسماء المستعارة، والقيم المنطقية كسلاسل، والمقاييس متعددة الأسطر
  • يعمل مع ملفات `.yaml` و `.yml` لـ Kubernetes، وDocker Compose، وخطوط أنابيب CI، والمزيد
  • الصق YAML من محررك أو اسحب وأفلت ملفات التهيئة في المنظم
  • نسخ YAML المنسق بنقرة واحدة مرة أخرى إلى محررك أو مستودعك
  • يعمل التنسيق بشكل أساسي على جانب العميل في متصفحك؛ قد يُستخدم خادم احتياطي آمن فقط إذا كان محلل/إضافة مطلوب مفقود

🔧 كيفية تنسيق ملفات تهيئة YAML for yaml-formatter

1

1. الصق أو ارفع YAML الخاص بك

انسخ أي مقتطف YAML (مانيفست Kubernetes، `docker-compose.yml`، سير عمل GitHub Actions، دفتر تشغيل Ansible، إلخ.) والصقه في المحرر، أو اسحب وأفلت ملف `.yaml` / `.yml`.

2

2. اضبط المسافات البادئة والتفاف النص

اختر ما إذا كنت تريد استخدام المسافات أو علامات الجدولة، وحدد حجم المسافة البادئة (1–8 مسافات) وضبط طول الالتفاف / السطر لمطابقة نمط فريقك. طول التفاف `0` يعطل الالتفاف بشكل فعال باستخدام `printWidth` داخلي كبير جدًا.

3

3. تشغيل المنظم

انقر على زر **تنسيق**. تعمل محرك YAML القائم على Prettier على إعادة كتابة تهيئتك بمسافات بادئة متسقة مع الحفاظ على المراسي، والأسماء المستعارة، والمقاييس متعددة الأسطر حتى لا تتغير الدلالات.

4

4. انسخ YAML النظيف

راجع المخرجات، ثم انسخ YAML المنسق مرة أخرى إلى محررك، أو ألزمه في Git، أو الصقه في واجهة مستخدم CI/CD أو موفر السحابة الخاص بك.

المواصفات الفنية

محرك التنسيق ودعم YAML

تم بناء هذه الأداة على أساس منظم YAML قائم على Prettier مع خيارات تهيئة معروضة في واجهة المستخدم.

الميزةالدعمملاحظات
إصدار YAML✅ YAML 1.2 (نموذجي)مناسب لـ YAML ذو النمط التكويني الحديث المستخدم في Kubernetes و Docker و CI/CD والتطبيقات.
المراسي والأسماء المستعارة✅ محفوظيحافظ على مراجع `&anchor` و `*alias` سليمة مع إعادة مسافة البداية للهيكل المحيط.
القيم النصية الكتلية✅ محفوظيحافظ على القيم النصية الكتلية `|` و `>` مع احترام المسافة البادئة الداخلية.
القيم المنطقية والأرقام✅ معالجة حذرةيحافظ التنسيق على القيم ولكن قد يكشف الفروق بين `yes` مقابل "yes" أو `0012` مقابل "0012".
YAML متعدد المستندات (`---`)✅ نموذجييتم الاحتفاظ بالمستندات المتعددة في نفس الملف بالترتيب وتنسيقها بشكل متسق.
إذا كان مقتطف YAML المحدد يستخدم بناء جملة غريب جداً أو علامات مخصصة لا يفهمها محلل Prettier YAML المدمج، فقد ترى خطأ في المحلل. في هذه الحالة، قم بتبسيط المقتطف أو قم بتشغيل التنسيق محلياً باستخدام أدواتك الخاصة.

المسافة البادئة، طول الالتفاف ونمط الإخراج

يعرض المنظم خيارات رئيسية حتى تتمكن من مطابقة نمط مشروعك بأكبر قدر ممكن.

الإعدادالخياراتالتوصية العملية
نمط المسافة البادئةمسافات / علامات جدولةتوصي معظم أدلة نمط YAML بالمسافات؛ علامات الجدولة فقط إذا فضلها فريقك صراحةً.
حجم المسافة البادئة1–8 مسافاتمسافتان شائعتان لـ Kubernetes و Docker؛ 4 مسافات لوضوح بصري إضافي.
الالتفاف / طول السطر0–120 عمود`0` يعطل الالتفاف (يستخدم `printWidth` داخلي كبير جداً)، 80–100 يحافظ على الاختلافات مضغوطة.
امتدادات الملفات.yaml, .ymlيطابق `fileExtensions` و `acceptedFileTypes` في تكوين الأداة.
قم بمحاذاة هذه الخيارات مع `.prettierrc` أو `.editorconfig` لمستودعك بحيث يطابق التنسيق عبر الإنترنت التطوير المحلي وفحوصات CI.

الحدود والأداء

مُحسّن للتنسيق التفاعلي لتكوينات YAML في نافذة المتصفح.

المعاملالحد / السلوكملاحظات
الحد الأقصى لحجم النص المدخل≈ 2 ميجابايت (~2,000,000 حرف)حد أمان مفروض داخل دالة المنظم.
الحد الأقصى لحجم تحميل الملف≈ 5 ميجابايتمقيد بإعداد `maxFileSize` في واجهة المستخدم للراحة والموثوقية.
مهلة التنسيق~25 ثانيةيتم إلغاء العمليات طويلة المدى لمنع تعليق المتصفح.
التنفيذ الأساسيجانب العميليعمل عبر `runPrettier` وإضافة Prettier لـ YAML مباشرة في متصفحك.
البديل الخادمفقط عند أخطاء المحلل/الإضافةإذا كان المحلل أو الإضافة المطلوبة مفقودة، يمكن استخدام نقطة النهاية الآمنة `/api/yaml-formatter` كبديل.
للحزم YAML الضخمة (مخططات Helm، مكتبات CRD العملاقة، إلخ)، يُفضل استخدام أدوات سطر الأوامر مثل `prettier` أو `yq` المدمجة في سير العمل المحلي أو خطوط أنابيب CI.

بدائل سطر الأوامر لتنسيق YAML

استخدم المُنسق عبر الإنترنت للتنظيفات السريعة، واعتمد على أدوات سطر الأوامر للمشاريع الكبيرة وخطوط الأنابيب الآلية.

لينكس / 🍏 ماك أو إس

تنسيق ملف YAML باستخدام yq (طباعة منسقة)

yq eval -P config.yaml > config.formatted.yaml

يعيد كتابة YAML بمسافات بادئة متسقة وترتيب مفاتيح حسب إصدار yq.

تطبيع YAML باستخدام Prettier

prettier --parser yaml --write "**/*.{yaml,yml}"

يشغل نفس فئة المحرك (محلل Prettier لـ YAML) عبر مستودعك بالكامل.

ويندوز (PowerShell / cmd)

تنسيق YAML باستخدام PowerShell + yq

yq eval -P config.yaml | Set-Content config.formatted.yaml

يطبع YAML بشكل منسق ويكتب النتيجة مرة أخرى على القرص.

YAML ذهابًا وإيابًا عبر كائنات PowerShell

Get-Content config.yaml -Raw | ConvertFrom-Yaml | ConvertTo-Yaml | Set-Content config.formatted.yaml

يستخدم دعم YAML في PowerShell لتطبيع الهيكل والمسافات البادئة.

ادمج هذا المُنسق عبر الإنترنت مع خطوة `prettier --check` أو `yq` في خط أنابيب CI لضمان بقاء جميع ملفات YAML في المستودع مُنسقة بشكل متسق.

حالات استخدام YAML العملية

البنية التحتية وبيانات Kubernetes

  • تنسيق بيانات Kubernetes مثل `Deployment` و`Service` و`Ingress` قبل مراجعة الكود.
  • تطبيع ملفات `values.yaml` في مخططات Helm لجعل الاختلافات أكثر وضوحًا.
  • الحفاظ على مسافات YAML لـ CRDs وConfigMaps وSecrets متسقة عبر البيئات.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: my-app:latest
          ports:
            - containerPort: 80

Docker Compose وتكوين التطوير المحلي

  • تحسين مظهر `docker-compose.yml` قبل مشاركته في الوثائق أو التذاكر.
  • محاذاة المسافات البادئة للخدمات والشبكات والمجلدات لتسهيل الصيانة.
  • إعداد مقاطع YAML نظيفة لمشاركات المدونات وأدلة البدء.
version: "3.9"
services:
  web:
    image: myapp:latest
    ports:
      - "8080:80"
    environment:
      - NODE_ENV=production
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: example

خطوط أنابيب CI/CD والأتمتة

  • تنسيق سير عمل GitHub Actions (`.github/workflows/*.yml`).
  • تنظيف GitLab CI (`.gitlab-ci.yml`) أو YAML لـ Azure Pipelines.
  • الحفاظ على قابلية قراءة YAML للأتمتة والبنية التحتية ككود عبر الفرق.
name: CI
on:
  push:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm test

❓ Frequently Asked Questions

ماذا يفعل منسق YAML هذا؟

يأخذ مدخلات YAML (عادة ملفات التكوين) ويعيد كتابتها بمسافات بادئة ولف متسق باستخدام محرك YAML قائم على Prettier. تبقى دلالات التكوين كما هي، لكن التخطيط يصبح أسهل بكثير في القراءة والمراجعة.

🧩ما هي ميزات YAML المدعومة؟

تم تصميم المنسق لميزات YAML 1.2 الشائعة المستخدمة في ملفات التكوين: التعيينات، القوائم، المراسي والمرادفات، القيم النصية الكتلية (`|` / `>`)، وملفات متعددة المستندات مفصولة بـ `---`. قد لا تكون العلامات المخصصة والتركيبات غير المعتادة مدعومة بالكامل من قبل المحلل اللغوي الأساسي.

📏هل هناك حد لحجم مدخلات YAML؟

لضمان الاستقرار وأداء المتصفح، يقتصر إدخال النص على حوالي 2 ميجابايت (~2,000,000 حرف) والملفات المرفوعة على حوالي 5 ميجابايت. لقواعد التعليمات البرمجية الأكبر أو YAML المُنشأ، قم بتشغيل Prettier أو yq من سطر الأوامر أو خط أنابيب CI بدلاً من ذلك.

🔐هل يتم رفع YAML الخاص بي إلى خادم؟

يعمل التنسيق بشكل أساسي في متصفحك عبر `runPrettier` والإضافة YAML لـ Prettier، لذا فإن YAML الخاص بك لا يغادر العميل في التشغيل العادي. في الحالات النادرة التي تكون فيها إضافة المحلل المطلوبة مفقودة، قد تعود الأداة إلى نقطة نهاية آمنة `/api/yaml-formatter`. حتى في هذه الحالة، يتم معالجة YAML الخاص بك بشكل عابر فقط ولا يتم تخزينه.

⚠️لماذا أرى أحيانًا أخطاء في المحلل؟

عادةً ما تعني أخطاء المحلل أن YAML غير صحيح التكوين (مثل المسافات البادئة غير المتسقة، أو فقدان `:`، أو عناصر القائمة غير المحاذية) أو يستخدم بناء جملة لا يفهمه المحلل المدمج. تحقق من المسافات البادئة والهيكل، أو حاول تبسيط المقطع، ثم قم بتشغيل المنسق مرة أخرى.

📚كيف يرتبط هذا بإعداد Prettier المحلي الخاص بي؟

تستخدم هذه الأداة محرك YAML قائم على Prettier في الخلفية، مشابه لتشغيل `prettier --parser yaml`. يمكنك استخدامه للإصلاحات السريعة الفردية والاعتماد على `.prettierrc` المحلي وأوامر CLI لتنسيق المشروع الكامل.

Pro Tips

Best Practice

قم بتوحيد جميع YAML في مستودع (Kubernetes، GitHub Actions، Docker Compose) بنفس نمط المسافات البادئة لتسهيل المقارنات والمراجعات بشكل كبير.

Best Practice

كن حذرًا مع القيم مثل `yes`، `no`، `on`، `off`، `0012` – ضعها بين علامتي اقتباس إذا أردت معاملتها كسلاسل نصية بدلاً من القيم المنطقية أو الأرقام المشابهة للنظام الثماني.

Best Practice

استخدم هذه الأداة التنسيقية عبر الإنترنت لتنظيف المقاطع النصية بسرعة للتوثيق أو التذاكر، ثم اعتمد على `prettier` أو `yq` في خطافات ما قبل الالتزام للمشاريع الكاملة.

Best Practice

عند إعادة هيكلة التكوينات الكبيرة، قم بالتنسيق أولاً بحيث تبرز التغييرات الدلالية بوضوح في فروق Git بدلاً من أن تُدفن في ضوضاء المسافات البادئة.

Additional Resources

Other Tools