1 Commits

Author SHA1 Message Date
Feng Ruohang
93de44150c feat: migrate the book to OINK 0.5
go.mod moves from oink v0.4.1 to v0.5.0 and the site drops the local
overrides the theme now ships: layouts/_shortcodes/contributors.html and
the leaf `example` shortcode, replaced by `eg`. Callout bodies become
blockquote continuation lines, standalone images become bare block-level
`img.td-image` (`wrapStandAloneImageWithinParagraph: false`), and the fat
footer moves from data/home/<lang>.yaml to data/footer/<lang>.yaml.
Makefile gains `serve` and a strict `check` target.

All eleven numbered tables move from the `{{< tbl >}}` wrapper to the
native form -- the pipe table followed by `{#id num="1-2" caption="…"}`.
That is what makes footnotes work inside a table: a shortcode body is a
separate Goldmark document, so `[^25]` in a cell printed literally, as it
did in three cells of table 1-2 and in table 8-1. The native table keeps
its cells in the page document, so the references number, link and
backlink like every other footnote. The rendered figure is unchanged.
OINK now fails the build on that pattern instead of publishing it.

bin/preprocess-epub.py learns the same form: a pipe table followed by an
attribute line carrying `num` becomes the Pandoc `.book-table` div that
the shortcode produced, so the EPUB keeps its numbered, anchored tables
(check-epub: chapters=23 figures=106 tables=3 errors=0).

_styles_project.scss follows OINK's reworked `eg`, which now frames the
whole figure with the caption as its header row: the DDIA accent and
surface move from the caption bar to the frame.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 00:42:24 +08:00