> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> استورد المستندات وصدّرها باستخدام Pandoc في نشر قائم على Kubernetes.

تُجري خدمة **clsi** في كل pod من Ayakaleaf Pro عمليات التحويل باستخدام Pandoc، تمامًا كما تُجري عمليات الترجمة: إذ تطلب clsi من Docker Engine على العقدة تشغيل حاوية من `PANDOC_IMAGE`. أما خدمة **web** فتعرض قوائم الاستيراد والتصدير. وظيفة هذه الميزة وطريقة بناء الصورة موضّحتان في [الاستيراد والتصدير باستخدام Pandoc](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| الخدمات | web (القوائم والمسارات)، وclsi (تُجري التحويل)، في كل pod من Ayakaleaf Pro |
| العقدة | Docker Engine و`PANDOC_IMAGE`، على كل عقدة يمكنها تشغيل Ayakaleaf Pro |
| المتطلبات | [الترجمة المعزولة (Sandboxed Compiles)](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| المهام الدورية | لا شيء |

### الإعداد

**1. ضع الصورة في Docker على كل عقدة**

ابنِ الصورة مرة واحدة من المجلد `develop/pandoc` في مستودع [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro)، ثم حمّلها في Docker على كل عقدة يمكنها تشغيل Ayakaleaf Pro:

```bash theme={null}
docker build -t overleaf-pandoc:local develop/pandoc
docker save overleaf-pandoc:local | ssh node-1 sudo docker load    # repeat for every node
```

أو ادفعها إلى سجلّ صور (registry) يمكن للعقد الوصول إليه ونفّذ `sudo docker pull` لها على كل عقدة. وكما هو الحال مع صور TeX Live، يجب أن تكون موجودة في **Docker**، وليس في containerd فقط.

**2. ConfigMap**

```yaml theme={null}
  ENABLE_PANDOC_CONVERSIONS: "true"
  PANDOC_IMAGE: overleaf-pandoc:local
```

تقرأ كلٌّ من web وclsi المتغيّر `ENABLE_PANDOC_CONVERSIONS` من الـ ConfigMap نفسه، لذا لا يمكن أن تختلفا بشأنه على Kubernetes.

**3. التطبيق وإعادة التشغيل**

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

### عدة نسخ متماثلة

لا يلزم أي شيء إضافي سوى وجود الصورة على كل عقدة: إذ تُجري كل نسخة متماثلة (replica) التحويل على عقدتها الخاصة.

### الاختبار على Kubernetes

مع الصورة المبنية من `develop/pandoc` والمحمّلة في Docker على كل عقدة باستخدام `docker save | docker load`، وعلى Kubernetes 1.37 مع نسخة متماثلة واحدة، تنجح اختباراتنا الشاملة (end-to-end) لـ Pandoc (6 حالات): استيراد مستند Markdown كمشروع LaTeX، والخطأ المعروض عند استيراد مستند Word تالف، والتصدير إلى Word (الذي يُستورد مجددًا) وMarkdown وHTML، وإخفاء القوائم عند عدم ضبط `ENABLE_PANDOC_CONVERSIONS`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.