تحويل YAML إلى ملف .env
مفيد لنقل إعدادات من ملف YAML إلى متغيرات بيئة لحاويات Docker أو منصات الاستضافة التي تقرأ ملف .env.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
طريقة الاستخدام
- أدخل نص YAML، الفاصل بين المستويات وأسماء بحروف كبيرة UPPER_CASE.
- تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
- انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.
طريقة الحساب
يقرأ YAML بالمخطط الأساسي في YAML 1.2، ثم يدمج مسار كل قيمة بالفاصل المختار فيصبح database.host الاسم DATABASE__HOST. الحروف غير المسموحة في الأسماء تصبح _، والقيم التي فيها مسافات أو رموز تقتبس بعلامات مفردة، والتي فيها أسطر بعلامات مزدوجة مع \n.
مثال
المدخلات: الفاصل بين المستويات = شرطتان سفليتان __، أسماء بحروف كبيرة UPPER_CASE = نعم. النتيجة: .env: APP=toolsahla PORT=8080 DEBUG=false LANGUAGES__0=ar LANGUAGES__1=en DATABASE__HOST=localhost DATABASE__USER=admin WELCOME="Welcome to ToolSahla\nأهلا بك\n" ، عدد المتغيرات: 8.
# App settings app: toolsahla port: 8080 debug: false languages: - ar - en database: host: localhost user: admin welcome: | Welcome to ToolSahla أهلا بك
APP=toolsahla PORT=8080 DEBUG=false LANGUAGES__0=ar LANGUAGES__1=en DATABASE__HOST=localhost DATABASE__USER=admin WELCOME="Welcome to ToolSahla\nأهلا بك\n"
الحدود والملاحظات
- تدعم الأداة جزءا واضحا من YAML: الخرائط والقوائم والقيم المفردة والنصوص المقتبسة والكتل | و> وأقواس [ ] و{ }. وترفض المراسي & والأسماء المستعارة * والوسوم ! وتعدد المستندات برسالة واضحة.
- كل القيم تصبح نصوصا، والقوائم تصبح متغيرات مرقمة مثل LIST__0.
أسئلة شائعة عن هذه الأداة
هل ينفع الناتج مع docker run --env-file؟
نعم للقيم البسيطة. لاحظ أن Docker يأخذ علامات التنصيص حرفيا في هذا الخيار، بخلاف Docker Compose.
كيف تكتب القائمة؟
كل عنصر يصبح متغيرا برقمه مثل LANGUAGES__0 وLANGUAGES__1.
هل تتغير حالة الأحرف في القيم؟
لا، الحروف الكبيرة تطبق على أسماء المتغيرات فقط.
