Pandoc-tuonti / -vienti
Overleaf voi muuntaa asiakirjoja LaTeX-muotoon ja LaTeX-muodosta Pandocin avulla. Muunnos ajetaan clsi-palvelun hallinnoimassa hiekkalaatikoidussa Docker-kontissa, joten ominaisuus on oletuksena pois päältä, ja se on otettava käyttöön muutamalla ympäristömuuttujalla.
Mitä se tekee
Ympäristömuuttujat
Merkitystä on kahdella muuttujalla, ja yksi samannäköinen muuttuja ei vaikuta.
1. ENABLE_PANDOC_CONVERSIONS — pääkytkin
- Tyyppi: totuusarvo (
true ottaa sen käyttöön; mikä tahansa muu arvo poistaa sen käytöstä).
- On asetettava SEKÄ
web- ETTÄ clsi-palveluun. Ne ovat erillisiä prosesseja, joilla on erilliset määritykset:
web lukee sen asetukseen enablePandocConversions (services/web/config/settings.defaults.js). Se ohjaa tuontireittejä, vientireittejä sekä ol-ExposedSettings.enablePandocConversions-lippua, joka kertoo käyttöliittymälle, näytetäänkö tuonti- ja vientitoiminnot.
clsi lukee sen asetukseen enablePandocConversions (services/clsi/config/settings.defaults.cjs). Se ohjaa päätepisteitä, jotka ajavat Pandocia.
- Jos se on käytössä
web-palvelussa mutta ei clsi-palvelussa (tai päinvastoin), käyttöliittymä näkyy, mutta muunnos epäonnistuu – pidä asetukset yhdenmukaisina.
2. PANDOC_IMAGE — kontti-image, jonka clsi ajaa muunnosta varten
Edellytykset
Koska muunnokset ajetaan clsi-palvelun käynnistäminä Docker-kontteina:
clsi-palvelun on toimittava hiekkalaatikkotilassa ja sillä on oltava pääsy Dockeriin. Kehityspinossa clsi-palvelulla on jo SANDBOXED_COMPILES=true ja isäntäkoneen Docker-socket (/var/run/docker.sock) liitettynä.
PANDOC_IMAGE-imagen on oltava saatavilla kyseisellä Docker-isännällä (noudettuna tai paikallisesti rakennettuna) ennen ensimmäistä muunnosta.
Pika-asennus
Kehityspino (develop/dev.env) sisältää valmiiksi:
Koska virallinen image on yksityinen, rakenna mukana toimitettu image kerran ennen ominaisuuden käyttöä:
Käynnistä sitten pino (uudelleen), jotta clsi ja web ottavat muuttujat käyttöön.
Pandoc-imagen rakentaminen
Tavallinen Pandoc-image toimii, koska clsi kutsuu Pandocia yleisellä tavalla (ilman mukautettuja malleja tai suodattimia). Se tarvitsee vain kolme ajonaikaista perusedellytystä, jotka kaikki hoidetaan tiedostossa develop/pandoc/Dockerfile:
Rakenna ja tagaa image niin, että tagi vastaa PANDOC_IMAGE-muuttujaa:
Tuotannossa kiinnitä pandoc/core tiettyyn versioon latest-tagin sijaan toistettavien buildien varmistamiseksi, ja aseta PANDOC_IMAGE osoittamaan omaan rekisteriisi.
Vianmääritys
Viimeksi muokattu 5. lokakuuta 2026