🐳 A simple docker for pandoc with filters, fonts, and the latex bazaar
100K+
A simple docker image for pandoc with filters, templates, fonts and additional tools.
Download the image with:
docker pull dalibo/pandocker:stable
Whenever a new stable version is released, launch that command again to refresh your image.
Run dalibo/pandocker with regular pandoc args. Mount your files at /pandoc.
$ docker run --rm -u `id -u`:`id -g` -v `pwd`:/pandoc dalibo/pandocker README.md -o README.pdf
Notes about the docker options:
-v ... option will mount the current folder as the /pandoc directory
inside the container. If SELinux is enabled on your system, you might need to
add the --privileged tag to force access to the mouting points. For more
details, read the documentation about docker runtime privileges.The --rm option destroys the container once the document is produced.
This is not mandatory but it's a good practice.
The -u option ensures that the output files will belong to you.
Again this is not necessary but it's useful.
Tip: You can define a shell alias to use
pandockerjust likepandoc. Add this to your~/.bashrc:
$ alias pandoc="docker run --rm -u `id -u`:`id -g` -v `pwd`:/pandoc dalibo/pandocker:stable"
$ pandoc README.md -o README.epub
Alternatively, you can use a pipe like this:
$ cat foo.md | docker run --rm -i dalibo/pandocker -t pdf > foo.pdf
This method will not work if the source document contains images or includes...
We're shipping a selection of latex templates inside the image so that you can produce nice PDF documents without installing anything.
So far, we provide the 3 templates below:
pdflatex and xelatex.You can use them simply by adding --template=xxx to your compilation
lines:
$ docker run [...] --pdf-engine=xelatex --template=eisvogel foo.md -o foo.pdf
Each template has specific variables that you can use to adapt the document. Please go the project page of each template for more details.
This docker image embeds a number of usefull pandoc filters. You can simply enable them
by adding the option --filter xxx where xxx is the name of one of the following
filters below:
NOTE: By default when using the pandoc-include filter, the path to target
files is relative to the /pandoc mountpoint. For instance,
the !include [foo/bar.md] statement will look for a /pandoc/foo/bar.md file.
You can use the docker arg --workdir="some/place/elsewhere" to specify
another location. The same principle applies to the pandoc-codeblock-include
and pandoc-mustache filters.
The pandocker image includes the following open-source fonts:
The full variant includes
The image is available in multiple versions named as follows:
branch[-parent[-variant]]
latest (default) or stable (for production)
or the release name (20.02)ubuntu
is supportedextra (330MB) or full (810 MB)The supported tags are :
latest, latest-ubuntu, latest-ubuntu-extra (default)latest-ubuntu-fullstable, stable-ubuntu, stable-ubuntu-extrastable-ubuntu-fullOther tags are not supported and should be used with care.
Use make or docker build .
The docker image embeds additional software related to editing and publishing:
These tools can be called by modifying the entrypoint of the image. For instance,
you can convert a dia source file into an SVG image like this:
$ docker run [..] --entrypoint dia dalibo/pandocker foo.dia -e foo.svg
Content type
Image
Digest
sha256:1cae5001b…
Size
889.3 MB
Last updated
about 1 year ago
docker pull dalibo/pandocker