These Docker containers contain the dependencies needed to build TCG Markdown-based documents. The main anticipated consumer of these containers is the Markdown action, but anyone can download and use the containers with Docker.
The interesting dependencies are:
- Pandoc
- LaTeX / TexLive (a dependency of Pandoc for PDF generation)
- Eisvogel (Pandoc/LaTeX template, with some TCG-specific modifications)
- Mermaid / mermaid-filter (for rendering diagrams)
See the Guide (In PDF form on the Releases page). A template repository is available at https://github.com/trustedcomputinggroup/specification-example.
Your workflow may prefer local development and rendering. Due to the complexity of the various Pandoc and LaTeX dependencies at work, it's easiest to use the Docker containers published at https://github.com/trustedcomputinggroup/pandoc/pkgs/container/pandoc from this repository.
docker pull ghcr.io/trustedcomputinggroup/pandoc:latest
./docker_run --pdf=guide.pdf guide.md
You may wish to send a PR to this repository, to add a feature or fix an issue with the tools. To do so, it can be helpful to build and test the Docker container.
Another reason to build locally is if you are running on an architecture that is not built and published to https://github.com/trustedcomputinggroup/pandoc/pkgs/container/pandoc (e.g., arm64).
This project uses Docker buildx to support cross-platform builds. Install it, then enable it using:
docker buildx install
To build the container:
docker build --tag WORKING .
DOCKER_IMAGE=working:latest ./docker_run --pdf=guide.pdf guide.md