الميزات الرئيسية لمنظم YAML هذا
- تنسيق قائم على Prettier مخصص لملفات تهيئة YAML 1.2
- مسافات بادئة متسقة مع حجم مسافة بادئة قابل للتعديل (1–8) وخيار المسافات مقابل علامات الجدولة
- طول سطر قابل للتعديل للحفاظ على قابلية قراءة المفاتيح والقيم الطويلة
- يتعامل بشكل صحيح مع المراسي، والأسماء المستعارة، والقيم المنطقية كسلاسل، والمقاييس متعددة الأسطر
- يعمل مع ملفات `.yaml` و `.yml` لـ Kubernetes، وDocker Compose، وخطوط أنابيب CI، والمزيد
- الصق YAML من محررك أو اسحب وأفلت ملفات التهيئة في المنظم
- نسخ YAML المنسق بنقرة واحدة مرة أخرى إلى محررك أو مستودعك
- يعمل التنسيق بشكل أساسي على جانب العميل في متصفحك؛ قد يُستخدم خادم احتياطي آمن فقط إذا كان محلل/إضافة مطلوب مفقود
🔧 كيفية تنسيق ملفات تهيئة YAML for yaml-formatter
1. الصق أو ارفع YAML الخاص بك
انسخ أي مقتطف YAML (مانيفست Kubernetes، `docker-compose.yml`، سير عمل GitHub Actions، دفتر تشغيل Ansible، إلخ.) والصقه في المحرر، أو اسحب وأفلت ملف `.yaml` / `.yml`.
2. اضبط المسافات البادئة والتفاف النص
اختر ما إذا كنت تريد استخدام المسافات أو علامات الجدولة، وحدد حجم المسافة البادئة (1–8 مسافات) وضبط طول الالتفاف / السطر لمطابقة نمط فريقك. طول التفاف `0` يعطل الالتفاف بشكل فعال باستخدام `printWidth` داخلي كبير جدًا.
3. تشغيل المنظم
انقر على زر **تنسيق**. تعمل محرك YAML القائم على Prettier على إعادة كتابة تهيئتك بمسافات بادئة متسقة مع الحفاظ على المراسي، والأسماء المستعارة، والمقاييس متعددة الأسطر حتى لا تتغير الدلالات.
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 بالمسافات؛ علامات الجدولة فقط إذا فضلها فريقك صراحةً. |
| حجم المسافة البادئة | 1–8 مسافات | مسافتان شائعتان لـ Kubernetes و Docker؛ 4 مسافات لوضوح بصري إضافي. |
| الالتفاف / طول السطر | 0–120 عمود | `0` يعطل الالتفاف (يستخدم `printWidth` داخلي كبير جداً)، 80–100 يحافظ على الاختلافات مضغوطة. |
| امتدادات الملفات | .yaml, .yml | يطابق `fileExtensions` و `acceptedFileTypes` في تكوين الأداة. |
الحدود والأداء
مُحسّن للتنسيق التفاعلي لتكوينات YAML في نافذة المتصفح.
| المعامل | الحد / السلوك | ملاحظات |
|---|---|---|
| الحد الأقصى لحجم النص المدخل | ≈ 2 ميجابايت (~2,000,000 حرف) | حد أمان مفروض داخل دالة المنظم. |
| الحد الأقصى لحجم تحميل الملف | ≈ 5 ميجابايت | مقيد بإعداد `maxFileSize` في واجهة المستخدم للراحة والموثوقية. |
| مهلة التنسيق | ~25 ثانية | يتم إلغاء العمليات طويلة المدى لمنع تعليق المتصفح. |
| التنفيذ الأساسي | جانب العميل | يعمل عبر `runPrettier` وإضافة Prettier لـ YAML مباشرة في متصفحك. |
| البديل الخادم | فقط عند أخطاء المحلل/الإضافة | إذا كان المحلل أو الإضافة المطلوبة مفقودة، يمكن استخدام نقطة النهاية الآمنة `/api/yaml-formatter` كبديل. |
بدائل سطر الأوامر لتنسيق 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 لتطبيع الهيكل والمسافات البادئة.
حالات استخدام 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: 80Docker 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؟
YAML المُنشأ، قم بتشغيل Prettier أو yq من سطر الأوامر أو خط أنابيب CI بدلاً من ذلك.🔐هل يتم رفع YAML الخاص بي إلى خادم؟
YAML لـ Prettier، لذا فإن YAML الخاص بك لا يغادر العميل في التشغيل العادي. في الحالات النادرة التي تكون فيها إضافة المحلل المطلوبة مفقودة، قد تعود الأداة إلى نقطة نهاية آمنة `/api/yaml-formatter`. حتى في هذه الحالة، يتم معالجة YAML الخاص بك بشكل عابر فقط ولا يتم تخزينه.⚠️لماذا أرى أحيانًا أخطاء في المحلل؟
YAML غير صحيح التكوين (مثل المسافات البادئة غير المتسقة، أو فقدان `:`، أو عناصر القائمة غير المحاذية) أو يستخدم بناء جملة لا يفهمه المحلل المدمج. تحقق من المسافات البادئة والهيكل، أو حاول تبسيط المقطع، ثم قم بتشغيل المنسق مرة أخرى.📚كيف يرتبط هذا بإعداد Prettier المحلي الخاص بي؟
YAML قائم على Prettier في الخلفية، مشابه لتشغيل `prettier --parser yaml`. يمكنك استخدامه للإصلاحات السريعة الفردية والاعتماد على `.prettierrc` المحلي وأوامر CLI لتنسيق المشروع الكامل.Pro Tips
قم بتوحيد جميع YAML في مستودع (Kubernetes، GitHub Actions، Docker Compose) بنفس نمط المسافات البادئة لتسهيل المقارنات والمراجعات بشكل كبير.
كن حذرًا مع القيم مثل `yes`، `no`، `on`، `off`، `0012` – ضعها بين علامتي اقتباس إذا أردت معاملتها كسلاسل نصية بدلاً من القيم المنطقية أو الأرقام المشابهة للنظام الثماني.
استخدم هذه الأداة التنسيقية عبر الإنترنت لتنظيف المقاطع النصية بسرعة للتوثيق أو التذاكر، ثم اعتمد على `prettier` أو `yq` في خطافات ما قبل الالتزام للمشاريع الكاملة.
عند إعادة هيكلة التكوينات الكبيرة، قم بالتنسيق أولاً بحيث تبرز التغييرات الدلالية بوضوح في فروق Git بدلاً من أن تُدفن في ضوضاء المسافات البادئة.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- فك تشفير Base64
- تشفير Base64
- منسق Csharp
- منسق CSV
- Dockerfile Formatter
- منسق Elm
- منسق ENV
- منسق Go
- منسق Graphql
- منسق Hcl
- منسق INI
- منسق JSON
- منسق Latex
- منسق Markdown
- منسق Objectivec
- Php Formatter
- منسق Proto
- منسق Python
- منسق Ruby
- منسق Rust
- منسق Scala
- منسق سكريبت Shell
- منسق SQL
- منسق SVG
- منسق Swift
- منسق TOML
- Typescript Formatter
- منسق XML
- منسق Yarn
- مختصر CSS
- Html Minifier
- Javascript Minifier
- مختصر JSON
- مصغر XML
- عارض رؤوس HTTP
- PDF إلى نص
- مختبر Regex
- مدقق ترتيب SERP
- بحث Whois