Skip to main content

الاستيراد / التصدير باستخدام Pandoc

يمكن لـ Overleaf تحويل المستندات من LaTeX وإليها باستخدام Pandoc. ويجري التحويل داخل حاوية Docker معزولة (sandboxed) تديرها خدمة clsi، ولذلك تكون هذه الميزة معطّلة افتراضيًا ويجب تفعيلها عبر بضعة متغيرات بيئة.

ما الذي تفعله


متغيرات البيئة

هناك متغيران مهمان، ومتغير ثالث مشابه لهما في الاسم لكنه ليس ذا صلة. 1. ENABLE_PANDOC_CONVERSIONS — المفتاح الرئيسي
  • النوع: قيمة منطقية (true تفعّل الميزة؛ وأي قيمة أخرى تعطّلها).
  • يجب ضبطه على كلتا الخدمتين web و clsi. فهما عمليتان منفصلتان لكل منهما إعداداتها الخاصة:
    • تقرأه web في enablePandocConversions (services/web/config/settings.defaults.js). وهو يتحكم في مسارات الاستيراد ومسارات التصدير والعلامة ol-ExposedSettings.enablePandocConversions التي تخبر الواجهة الأمامية بما إذا كان يجب إظهار واجهة الاستيراد/التصدير.
    • تقرأه clsi في enablePandocConversions (services/clsi/config/settings.defaults.cjs). وهو يتحكم في نقاط النهاية التي تشغّل Pandoc.
  • إذا كان مفعّلًا على web وليس على clsi (أو العكس)، فستظهر الواجهة لكن التحويل سيفشل — احرص على إبقائهما متزامنين.
2. PANDOC_IMAGE — صورة الحاوية التي تشغّلها clsi لإجراء التحويل

المتطلبات المسبقة

نظرًا لأن عمليات التحويل تعمل كحاويات Docker تنشئها clsi:
  1. يجب أن تعمل clsi في الوضع المعزول مع إمكانية الوصول إلى Docker. في حزمة التطوير، تملك clsi بالفعل SANDBOXED_COMPILES=true ويكون Docker socket الخاص بالمضيف (/var/run/docker.sock) مركّبًا.
  2. يجب أن تكون الصورة PANDOC_IMAGE موجودة على مضيف Docker ذلك (مسحوبة أو مبنية محليًا) قبل أول عملية تحويل.

الإعداد السريع

تأتي حزمة التطوير (develop/dev.env) مزوّدة مسبقًا بما يلي:
نظرًا لأن الصورة الرسمية خاصة، قم ببناء الصورة المرفقة مرة واحدة قبل استخدام الميزة:
ثم شغّل الحزمة (أو أعد تشغيلها) حتى تلتقط clsi و web المتغيرات.

بناء صورة Pandoc

تعمل صورة Pandoc القياسية لأن clsi تستدعي Pandoc بشكل عام (دون قوالب/مرشحات مخصصة). وهي لا تحتاج إلا إلى ثلاثة أساسيات وقت التشغيل، يتولاها جميعًا الملف develop/pandoc/Dockerfile:
قم ببنائها ووسمها بحيث يطابق الوسم قيمة PANDOC_IMAGE:
في بيئة الإنتاج، ثبّت pandoc/core على إصدار محدد بدلًا من latest للحصول على عمليات بناء قابلة للتكرار، واضبط PANDOC_IMAGE على مسار السجل الخاص بك.

استكشاف الأخطاء وإصلاحها

آخر تعديل في ٥ أكتوبر ٢٠٢٦