aboutsummaryrefslogtreecommitdiff
path: root/theme
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-08-11 14:28:56 -0500
committerChristian Cleberg <[email protected]>2026-08-11 20:35:15 -0500
commitb6870928c46c1eec7103746bd3153a671b8d344c (patch)
tree3949563cc66333bd8745a62a2fe878566789cbdd /theme
parent4d78517a19684cc574de3754f6f36c82f0a8179e (diff)
downloadcleberg.net-b6870928c46c1eec7103746bd3153a671b8d344c.tar.gz
cleberg.net-b6870928c46c1eec7103746bd3153a671b8d344c.tar.bz2
cleberg.net-b6870928c46c1eec7103746bd3153a671b8d344c.zip
Render the table of contents, and group /blog/ by year
Two of the differences the page-by-page diff against the live site turned up. The TOC was the larger one: live has one on 171 pages and the org-ssg build had none. `[html] toc = true` only *exposes* `page.toc` — rendering it is the layout's job, and base.html never did. It now emits the same `div#table-of-contents` Emacs does, from a recursive macro over the tree. The anchors already matched, so every link lands where the live one does. Pages that say `#+OPTIONS: toc:nil` get an empty tree and render nothing, which is why /uses/, /now/ and /salary/ have no TOC here either — the same three as live. /blog/ now breaks its list under year headings, as the live index does, using `page.year` and minijinja's groupby. `group_by_year` at the top of blog.html turns it off for one flat list. After both, /blog/ matches the live page's content exactly, and 171 of 171 TOCs are accounted for.
Diffstat (limited to 'theme')
0 files changed, 0 insertions, 0 deletions