From b7f608ce3905f7aa42bb4f6cefba6d21afd8277d Mon Sep 17 00:00:00 2001 From: Samuel Letellier-Duchesne Date: Thu, 26 Feb 2026 11:05:09 -0500 Subject: [PATCH] Add CSS to center figures and captions Co-Authored-By: Claude Opus 4.6 --- scripts/assets/figures.css | 14 ++++++++++++++ scripts/convert.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 scripts/assets/figures.css diff --git a/scripts/assets/figures.css b/scripts/assets/figures.css new file mode 100644 index 000000000..2ea2a465f --- /dev/null +++ b/scripts/assets/figures.css @@ -0,0 +1,14 @@ +/* Center figures: standalone images (paragraphs containing only an ) + and their italic captions ("*Figure: ...*" renders as ) */ +.md-content p > img:only-child { + display: block; + margin-left: auto; + margin-right: auto; +} + +/* Center the caption paragraph that follows an image. + The Lua filter emits "*Figure: caption*" which renders as

...

*/ +.md-content p:has(> img:only-child) + p > em:only-child { + display: block; + text-align: center; +} diff --git a/scripts/convert.py b/scripts/convert.py index fc04d99ab..127cbfa9c 100644 --- a/scripts/convert.py +++ b/scripts/convert.py @@ -578,7 +578,7 @@ def generate_zensical_config( {"path": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js", "async": True}, {"path": "assets/eq-tooltips.js"}, ] - project["extra_css"] = ["assets/eq-tooltips.css"] + project["extra_css"] = ["assets/eq-tooltips.css", "assets/figures.css"] config_path = output_dir / "zensical.toml" config_path.write_text(tomli_w.dumps(config))