Docker image for converting documents with Pandoc and Pandocomatic.
Now with TinyTeX included!
Work in progress.
- Workdir is
/source
- pandoc/pandocomatic data-dir is
/root/.pandoc
Sample docker invokation for inspecting the image:
$ docker run --rm -it -v /local-source-dir:/source \
-v /home/username/.pandoc:/root/.pandoc \
agusmba/pandocomatic bash
Sample pandocomatic invokation from windows (notice the extra /
at the beginning of local paths):
$ docker run --rm -it -v /$(pwd):/source \
-v /$(pwd)/res:/root/.pandoc \
agusmba/pandocomatic pandocomatic -i src/test-pandoc -o build
Other similar projects:
- latest: Latest version with Pandocomatic and Pandoc (no latex)
- latest-tex: Latest version with Pandocomatic and Pandoc, with latest TinyTex
- x.y.z-pandoc-a.b.c: Pandocomatic version
x.y.z
and Pandoc versiona.b.c
- x.y.z-pandoc-a.b.c-tex: Pandocomatic version
x.y.z
and Pandoc versiona.b.c
, with latest TinyTex
If you want to build the images locally instead of using the public images, review the Dockerfile dependencies between:
tex/Dockerfile
./Dockerfile
base/Dockerfile
And build them in order with the right tagging:
docker build -t agusmba/pandocomatic:base-${base-version} base/
docker build -t agusmba/pandocomatic:latest ./
docker build -t agusmba/pandocomatic:latest-tex tex/
You can add additional extra packages to the tex/Dockerfile
. However since the docker build step takes time, you should be sure about all the required packages in order to avoid additional build cycles.
In order to find all extra latex packages to install, you may fire up the latest image (with tex support), install perl
and use tlmgr
to manually install all missing packages. Once you have the list of extra needed packages, modify the Dockerfile accordingly:
$ docker run --rm -it -v /local-source-dir:/source \
-v /home/username/.pandoc:/root/.pandoc \
agusmba/pandocomatic:latest-tex bash
$ apt-get update
$ apt-get install perl
# repeat until no missing packages:
$ pandocomatic -i xxx -o yyy ...
$ tlmgr install ${my-missing-packages-list}