Skip to main content

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:
  1. 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ä.
  2. 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