> ## 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.

Перетворення Pandoc виконує служба **clsi** кожного пода Ayakaleaf Pro, так само як і компіляції: clsi просить Docker Engine вузла запустити контейнер із `PANDOC_IMAGE`. Служба **web** показує меню імпорту та експорту. Що робить ця функція і як зібрати образ, описано в розділі [Імпорт і експорт через Pandoc](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| Служби | web (меню та маршрути), clsi (виконує перетворення) у кожному поді Ayakaleaf Pro |
| Вузол | Docker Engine і `PANDOC_IMAGE` на кожному вузлі, де може працювати Ayakaleaf Pro |
| Потребує | [Ізольованої компіляції](https://ayakaleaf-pro.mintlify.site/uk/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
```

Або надішліть його до реєстру, доступного вузлам, і виконайте `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
```

### Кілька реплік

Нічого додаткового, окрім наявності образу на кожному вузлі: кожна репліка виконує перетворення на своєму вузлі.

### Перевірено на Kubernetes

З образом, зібраним із `develop/pandoc` і завантаженим у Docker на кожному вузлі через `docker save | docker load`, на Kubernetes 1.37 з однією реплікою наші наскрізні тести 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.