This image contains all the utilities to create documents and presentations from
markdown source files, using asciidoctor and marp.
docker build -t presentation-utils .Optional: pin draw.io desktop version at build time:
docker build -t presentation-utils --build-arg DRAWIO_VERSION=24.7.17 .Mount your working directory to /work.
If you use PDF themes, mount your themes directory to /themes/asciidoctor (the container reads /themes/asciidoctor/default-theme if present).
If you use Marp themes, mount your themes directory to /themes/marp (the container reads /themes/marp/default-theme if present).
Notes:
- On Windows, prefer running these commands from PowerShell (path handling is simpler).
- If you run from Git Bash/MSYS2, add
MSYS_NO_PATHCONV=1and pass file paths relative to/work.
Show available commands:
docker run --rm presentation-utilsPowerShell:
docker run --rm \
-v "${PWD}:/work" \
-v "${HOME}/Documents/asciidoctor_styles:/themes/asciidoctor:ro" \
presentation-utils convertto-pdf documento.adoc --theme mytheme-2025Markdown input auto-converts to .adoc first:
docker run --rm -v "${PWD}:/work" presentation-utils convertto-pdf documento.mdPass extra asciidoctor args after --:
docker run --rm -v "${PWD}:/work" \
presentation-utils convertto-pdf documento.adoc -- --failure-level=WARNOptimize/linearize (creates *-out.pdf):
docker run --rm -v "${PWD}:/work" presentation-utils convertto-pdf documento.adoc --optimizedocker run --rm -v "${PWD}:/work" presentation-utils convertto-asciidoc documento.mddocker run --rm -v "${PWD}:/work" presentation-utils convertto-png diagrama.drawioBundled Marp CLI + Chromium. Themes live in /themes/marp.
PowerShell:
docker run --rm \
-v "${PWD}:/work" \
-v "${HOME}/Documents/marp_styles:/themes/marp:ro" \
presentation-utils convertto-presentation deck.md --format pdfHTML:
docker run --rm -v "${PWD}:/work" presentation-utils convertto-marp deck.md --format htmlPass extra marp args after --:
docker run --rm -v "${PWD}:/work" presentation-utils convertto-presentation deck.md -- --bespoke.progress- Windows absolute paths (e.g.
C:\repo\file.md) only work when the file is under the current directory mounted to/work. - Passing an absolute path outside the current working directory will fail with "outside the current working directory".
convertto-presentation --themeaccepts a theme name/filename only (e.g.--theme acmeor--theme acme.css), not a path.
When running from Git Bash on Windows, disable path conversion:
MSYS_NO_PATHCONV=1 docker run --rm -v "$(pwd -W):/work" presentation-utils convertto-pdf documento.adoc