KNELPDF v1: pandoc 3.11 + texlive xetex/luatex on pinned bookworm
Fleet document-generation image. DejaVu/Noto fonts for unicode + box-drawing. Remote push + cross-links queued (gitea incident #937).
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
*.pdf
|
||||||
|
*.aux
|
||||||
|
*.log
|
||||||
|
*.out
|
||||||
|
*.toc
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
# KNELPDF - TSYS Group fleet document-generation image.
|
||||||
|
# pandoc + texlive (xetex/luatex) + DejaVu/Noto fonts (box-drawing + wide unicode).
|
||||||
|
# Rebuild = bump the version pins, never float.
|
||||||
|
|
||||||
|
FROM debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171
|
||||||
|
|
||||||
|
ARG PANDOC_VERSION=3.11
|
||||||
|
ARG PANDOC_DEB=pandoc-3.11-1-amd64.deb
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
texlive-latex-base \
|
||||||
|
texlive-latex-recommended \
|
||||||
|
texlive-latex-extra \
|
||||||
|
texlive-xetex \
|
||||||
|
texlive-luatex \
|
||||||
|
texlive-fonts-recommended \
|
||||||
|
lmodern \
|
||||||
|
fonts-dejavu \
|
||||||
|
fonts-noto-core \
|
||||||
|
&& curl -fsSL -o /tmp/pandoc.deb \
|
||||||
|
"https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/${PANDOC_DEB}" \
|
||||||
|
&& dpkg -i /tmp/pandoc.deb \
|
||||||
|
&& rm -f /tmp/pandoc.deb \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Fleet rule: NO ENTRYPOINT - keeps `sh -c` composition working.
|
||||||
|
CMD ["pandoc", "--version"]
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
# KNELPDF
|
||||||
|
|
||||||
|
Fleet document-generation image: **pandoc + texlive (xetex/luatex) + DejaVu
|
||||||
|
and Noto fonts**, built for the TSYS Group agent fleet. Runs markdown → PDF
|
||||||
|
with full unicode support (box-drawing org charts, tables, code blocks).
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
- Built locally as `knelpdf:v1` on the COO workstation (2026-09-07).
|
||||||
|
- **Remote not yet created** — Gitea pushes are blocked by the
|
||||||
|
2026-09-07 box incident (gitea receive-pack 500s, see Redmine #937).
|
||||||
|
When infra recovers: create repo `KNEL/KNELPDF` on
|
||||||
|
git.knownelement.com, push, and cross-link the Redmine ticket +
|
||||||
|
Discourse doc here (links land at birth per house rules).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# markdown -> PDF (xelatex engine, landscape, DejaVu mono keeps box-drawing)
|
||||||
|
docker run --rm -v "$PWD:/data" knelpdf:v1 \
|
||||||
|
pandoc /data/input.md -o /data/output.pdf \
|
||||||
|
--pdf-engine=xelatex \
|
||||||
|
-V geometry:landscape -V geometry:margin=2cm \
|
||||||
|
-V mainfont="DejaVu Sans" -V monofont="DejaVu Sans Mono"
|
||||||
|
```
|
||||||
|
|
||||||
|
The image has NO entrypoint (fleet rule) — invoke tools directly:
|
||||||
|
`pandoc`, `xelatex`, `lualatex`.
|
||||||
|
|
||||||
|
## Version policy (bump on rebuild, never float)
|
||||||
|
|
||||||
|
| Component | Pinned at |
|
||||||
|
|---|---|
|
||||||
|
| Base | `debian:bookworm-slim@sha256:88200866…` (digest in Dockerfile) |
|
||||||
|
| pandoc | 3.11 (`pandoc-3.11-1-amd64.deb` from GitHub releases) |
|
||||||
|
| texlive | Debian bookworm archive (pulled at build time, pinned by base digest) |
|
||||||
|
| Image tag | `knelpdf:vN` — `:latest` is forbidden by house rules |
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
|
- texlive-latex-base / recommended / extra
|
||||||
|
- texlive-xetex, texlive-luatex, texlive-fonts-recommended, lmodern
|
||||||
|
- fonts-dejavu (mono has box-drawing glyphs), fonts-noto-core
|
||||||
|
- curl + ca-certificates
|
||||||
Reference in New Issue
Block a user