> ## 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-Import und -Export

> Dokumente in einem Kubernetes-Deployment mit Pandoc importieren und exportieren.

Pandoc-Konvertierungen werden wie Kompilierungen vom **clsi**-Dienst jedes Ayakaleaf Pro-Pods ausgeführt: clsi weist die Docker Engine des Knotens an, einen Container aus `PANDOC_IMAGE` zu starten. Der **web**-Dienst zeigt die Import- und Exportmenüs an. Was die Funktion leistet und wie Sie das Image erstellen, ist unter [Pandoc-Import und -Export](https://ayakaleaf-pro.mintlify.site/de/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md) beschrieben.

| | |
| - | - |
| Dienste | web (Menüs und Routen), clsi (führt die Konvertierung aus), in jedem Ayakaleaf Pro-Pod |
| Knoten | Docker Engine und `PANDOC_IMAGE`, auf jedem Knoten, der Ayakaleaf Pro ausführen kann |
| Voraussetzung | [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/de/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| Periodische Jobs | keine |

### Konfiguration

**1. Das Image auf jedem Knoten in Docker bereitstellen**

Erstellen Sie das Image einmal aus dem Ordner `develop/pandoc` des Repositorys [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) und laden Sie es dann auf jedem Knoten, der Ayakaleaf Pro ausführen kann, in Docker:

```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
```

Oder pushen Sie es in eine Registry, die die Knoten erreichen können, und führen Sie auf jedem Knoten `sudo docker pull` aus. Wie bei den TeX Live-Images muss es in **Docker** vorhanden sein, nicht nur in containerd.

**2. ConfigMap**

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

web und clsi lesen `ENABLE_PANDOC_CONVERSIONS` beide aus derselben ConfigMap, sodass sie auf Kubernetes nicht voneinander abweichen können.

**3. Anwenden und neu starten**

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

### Mehrere Replikate

Außer dem Image auf jedem Knoten ist nichts weiter nötig: Jedes Replikat konvertiert auf seinem eigenen Knoten.

### Auf Kubernetes getestet

Mit dem aus `develop/pandoc` erstellten und mit `docker save | docker load` auf jedem Knoten in Docker geladenen Image bestehen auf Kubernetes 1.37 mit einem Replikat unsere End-to-End-Tests für Pandoc (6 Fälle): Import eines Markdown-Dokuments als LaTeX-Projekt, die angezeigte Fehlermeldung bei einem defekten Word-Dokument, Export nach Word (das sich wieder importieren lässt), Markdown und HTML sowie ausgeblendete Menüs ohne `ENABLE_PANDOC_CONVERSIONS`.


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