تحويل YAML إلى ملف .env

مفيد لنقل إعدادات من ملف YAML إلى متغيرات بيئة لحاويات Docker أو منصات الاستضافة التي تقرأ ملف .env.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل نص YAML، الفاصل بين المستويات وأسماء بحروف كبيرة UPPER_CASE.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

يقرأ 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.

هل تتغير حالة الأحرف في القيم؟

لا، الحروف الكبيرة تطبق على أسماء المتغيرات فقط.