نکات کلیدی
- 01YAML را با تورفتگی مسلسل با استفاده از parser js-yaml قالببندی میکند — کتابخانه یکسانی که در tooling Node.js استفاده میشود.
- 02Syntax را تأیید میکند و شماره خط دقیق برای خطاها را گزارش میکند.
- 03بین YAML و JSON در هر دو جهت با حفظ نوع صحیح تبدیل میکند.
- 04هیچ چیزی آپلود نمیشود — کل عملیات به صورت محلی در مرورگر شما اجرا میشود.
چرا قالببندی YAML برای فایلهای Config مهم است
YAML زبان config پیشفرض برای Kubernetes، GitHub Actions، Docker Compose، Helm charts و بسیاری ابزارهای دیگر است. همچنین مشهور به حساسیت نسبت به تورفتگی است — یک خط غلطتورفتگی شده میتواند یک عدمتطابق نوع خاموش یا خطای hard parse که deployment را مسدود میکند تولید کند. قالببندی منظم فایلها را مسلسل نگاه میدارد و مسائل را قبل از رسیدن به CI گرفت میکند.
تبدیل بین YAML و JSON به همان اندازه مفید است. برخی ابزارها فقط JSON را برای تماسهای API یا تعاریف schema میپذیرند، در حالی که انسانها عموماً YAML را برای فایلهای config طویلمدت ترجیح میدهند. توانایی round-trip بین دو مورد بدون از دست دادن انواع داده — اعداد اعداد میمانند، بولئنها بولئن میمانند — وقت را صرفهجویی میکند و اشتباهات ظریف را جلوگیری میکند.
نحوه قالببندی یا تبدیل YAML
- 01
YAML یا JSON خود را جا دهید
Kubernetes manifest، GitHub Actions workflow، Helm values file یا هر document YAML دیگر را جا دهید. برای تبدیل JSON به YAML، JSON را به جای آن جا دهید.
- 02
یک عمل را انتخاب کنید
Select Format YAML تا تورفتگی normalize کنید و document را در جای خود تمیز کنید. تبدیل به YAML برای JSON یا JSON به YAML را انتخاب کنید تا format کاملاً تبدیل کنید.
- 03
خطاها را اگر وجود داشت بررسی کنید
اگر ورودی یک خطای syntax دارد، ابزار شماره خط دقیق و دلیل را از parser js-yaml سطح میدهد — parser یکسانی که tooling Node.js شما استفاده میکند، بنابراین خطا با آنچه در تولید میبینید مطابقت دارد.
- 04
خروجی را کپی کنید
بر روی Copy کلیک کنید تا خروجی قالببندیشده یا تبدیلشده را دریافت کنید. آن را بازگشت به فایل config، یک بدن API یا یک تعریف schema جا دهید.
زمان این ابزار وقت شما را صرفهجویی میکند
- 01Kubernetes manifest drift شده است — تورفتگی را قبل از commit normalize کنید.
- 02GitHub Actions workflow parse شدن ناموفق است — validate تا شماره خط خطای دقیق به دست آورید.
- 03API فقط JSON میپذیرد اما config به عنوان YAML ذخیره میشود — یک کلیک تبدیل کنید.
- 04Onboarding یک service جدید — payload مثال JSON را برای Helm chart به YAML تبدیل کنید.
- 05کپی YAML از Stack Overflow — تا 2 فضا سبک پروژه شما مطابقت دادن قالببندی مجدد کنید.
- 06Debugging یک Helm values merge — تأیید کنید که هر values.yaml به صورت جداگانه تمیز است.
خصوصی، بدون نیاز آپلود
قالببندی و تبدیل کاملاً در مرورگر شما با استفاده از js-yaml — کتابخانه یکسانی که در Webpack، Rollup و بیشتر ابزارهای build JavaScript بستهبندی شده است اجرا میشود. فایلهای config شما، مراجع secrets و نامهای متغیر محیط هرگز دستگاه شما را ترک نمیکنند.
Parser به YAML 1.2 هدف دارد، که آنچه Kubernetes، GitHub Actions و Docker Compose همگی استفاده میکنند است. اگر یک فایل در اینجا validate کنید، بهدرستی در آن ابزارها بار میشود.
سؤالات متداول YAML Formatter
آیا قالببندی YAML نظرات را حفظ میکند؟
نه. Parser js-yaml نظرات را parsing در طول کنار میگذارد — این محدودیت همه JavaScript YAML parsers است. ابتدا قالببندی کنید، سپس نظرات را دستی برگردانید.
کدام نسخه YAML این پشتیبانی میکند؟
YAML 1.2، که نسخهای است که Kubernetes، GitHub Actions، Docker Compose و Helm استفاده میکنند. آنچه در اینجا validate کنید در آن ابزارها بهدرستی بار میشود.
آیا تبدیل از YAML به JSON انواع را حفظ میکند؟
بله. اعداد، booleans، null و رشتههای تاریخ دوروبرگ صحیح هستند. یک true در YAML یک boolean true در JSON میشود، نه رشته 'true'.
تفاوت بین قالببندی و تبدیل چیست؟
قالببندی فایل را به عنوان YAML نگاه میدارد و فضای سفید و تورفتگی را normalize میکند. تبدیل فرمت خروجی را کاملاً تغییر میدهد — YAML به JSON document .json سازگار تولید میکند.
YAML من دارای documentهای متعدد --- جدا شده است. آیا همه آنها process خواهند شد؟
اولین document parse و re-emit شده است. برای فایلهای document چندگانه، هر بخش را بر روی --- جدا کنید و به صورت جداگانه process کنید.