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

# Import i eksport za pomocą Pandoc

> Importuj i eksportuj dokumenty za pomocą Pandoc we wdrożeniu Kubernetes.

Konwersje Pandoc są wykonywane przez usługę **clsi** każdego poda Ayakaleaf Pro, podobnie jak kompilacje: clsi prosi Docker Engine węzła o uruchomienie kontenera z `PANDOC_IMAGE`. Usługa **web** wyświetla menu importu i eksportu. Działanie tej funkcji i sposób budowania obrazu opisano na stronie [Import i eksport za pomocą Pandoc](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| Usługi | web (menu i trasy), clsi (wykonuje konwersję), w każdym podzie Ayakaleaf Pro |
| Węzeł | Docker Engine i `PANDOC_IMAGE`, na każdym węźle, na którym może działać Ayakaleaf Pro |
| Wymaga | [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| Zadania okresowe | brak |

### Konfiguracja

**1. Umieść obraz w Dockerze na każdym węźle**

Zbuduj obraz raz z folderu `develop/pandoc` repozytorium [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro), a następnie załaduj go do Dockera na każdym węźle, na którym może działać 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
```

Możesz też wypchnąć go do rejestru dostępnego dla węzłów i pobrać go poleceniem `sudo docker pull` na każdym węźle. Podobnie jak obrazy TeX Live, musi on znajdować się w **Dockerze**, a nie tylko w containerd.

**2. ConfigMap**

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

Zarówno web, jak i clsi odczytują `ENABLE_PANDOC_CONVERSIONS` z tej samej ConfigMap, więc w Kubernetes nie mogą mieć rozbieżnych wartości.

**3. Zastosuj i uruchom ponownie**

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

### Kilka replik

Nic dodatkowego poza obecnością obrazu na każdym węźle: każda replika wykonuje konwersje na własnym węźle.

### Przetestowano na Kubernetes

Z obrazem zbudowanym z `develop/pandoc` i załadowanym do Dockera na każdym węźle za pomocą `docker save | docker load`, na Kubernetes 1.37 z jedną repliką, nasze testy end-to-end Pandoc przechodzą pomyślnie (6 przypadków): import dokumentu Markdown jako projektu LaTeX, błąd wyświetlany dla uszkodzonego dokumentu Word, eksport do formatu Word (który można ponownie zaimportować), Markdown i HTML oraz menu ukryte bez `ENABLE_PANDOC_CONVERSIONS`.


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