ssh git@grit.deadkey.org man

mailmanpat/jenny · 2026-09-06 09:36:46 +08002026-9-6 +8git clone …

FILES / Dockerfile

NameLast CommitTimestampSize
.github ad9c389 h test: replace the cloned-blog CI job with a committed fixture 26-08-24 11:38 -
bin 5479d3a h Take the markdown parser as a submodule instead of vendoring it 26-09-05 10:06 -
share 4853a27 h Sit the theme control on the header line, without a box 26-09-06 09:36 -
test b70d686 h Take the parser's escape-by-default contract 26-09-05 10:21 -
.gitignore b4efcdc h chore: do not track agent worktrees 26-08-25 11:02 174 B
.gitmodules 5479d3a h Take the markdown parser as a submodule instead of vendoring it 26-09-05 10:06 138 B
.shellcheckrc e11b323 h ci: add test workflow, shellcheck baseline, auditable image, VERSION 26-08-20 09:50 818 B
Dockerfile e11b323 h ci: add test workflow, shellcheck baseline, auditable image, VERSION 26-08-20 09:50 1 KB
LICENSE.txt 1e61a7e h Update license 21-04-06 21:58 1 KB
Makefile e11b323 h ci: add test workflow, shellcheck baseline, auditable image, VERSION 26-08-20 09:50 734 B
README.md 5a5d303 h Name a nav in its own file, count what it hides, label the tag row 26-08-26 13:20 12 KB
VERSION e11b323 h ci: add test workflow, shellcheck baseline, auditable image, VERSION 26-08-20 09:50 6 B
action.yml e11b323 h ci: add test workflow, shellcheck baseline, auditable image, VERSION 26-08-20 09:50 452 B
# Container image that runs your code.
#
# multimarkdown is built from source in a first stage rather than pulled from
# an unmaintained third-party image, so the dependency is auditable. The base
# images are pinned by digest; refresh them deliberately, not implicitly.
#
# TODO: replace the tag below with the digest for the platform you publish
# from -- `docker buildx imagetools inspect debian:bookworm-slim` -- so the
# build stops floating. Left as a tag here because the digest must be
# chosen by whoever owns the registry, not guessed.
FROM debian:bookworm-slim AS multimarkdown-build
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential cmake git ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pinned to a tagged release rather than a moving branch.
ARG MMD_VERSION=6.6.0
RUN git clone --depth 1 --branch "$MMD_VERSION" \
https://github.com/fletcher/MultiMarkdown-6.git /src/mmd \
&& cd /src/mmd \
&& cmake -B build -DCMAKE_BUILD_TYPE=Release \
&& cmake --build build --target multimarkdown -j "$(nproc)"
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
bash gawk sed grep coreutils make \
&& rm -rf /var/lib/apt/lists/*
COPY --from=multimarkdown-build /src/mmd/build/multimarkdown /usr/local/bin/multimarkdown
COPY ./ /tmp/jenny
RUN (cd /tmp/jenny && make install) && rm -rf /tmp/jenny
WORKDIR /blog
ENTRYPOINT ["jenny"]