levineuwirth.org/templates
Levi Neuwirth 154b47a4cb Marks II: broader monogram coverage + audit-marks tool
Extends the Phase-1 monogram mark system to every long-form content
type (essays, blog posts, poems, fiction, music) and introduces a
coverage audit so gaps are visible.

* build/Marks.hs gains hasMonogram (predicate), monogramSvgFieldFor +
  hasMonogramFieldFor (for explicit-path callers like the /build/ and
  /stats/ pages). Contexts.hs exports hasMonogramField as a siteCtx
  boolean so templates can conditionally render the slot without
  emitting an empty <div>.
* essay.html, blog-post.html, reading.html: hoist the frontmatter
  block out of <main id="markdownBody"> so the monogram + epistemic
  marks render as wrapper chrome rather than indexable prose; left
  + right mark slots are now unconditional (CSS handles the empty
  state) so the layout is grid-stable across pieces.
* templates/partials/item-card.html: optional monogram chip on cards
  (item-card--has-monogram modifier), gated on $has-monogram$ so
  monogram-less pieces stay flush.
* build/Stats.hs grows a "Marks coverage" telemetry section: per-type
  pieces / monogram / epistemic-figure counts + a coverage rollup,
  rendered between epistemic and output on /build/.
* tools/audit-marks.py: coverage report (ASCII table) walking
  content/**/*.md, plus a pre-commit hook at
  tools/hooks/pre-commit-marks.sh that runs the same scan against
  newly-staged .md files. New `make audit-marks` runs the report
  manually; the hook gates commits.
* static/css/marks.css: layout for the new frontmatter slots and the
  item-card monogram chip.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 12:05:08 -04:00
..
partials Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
archive-index.html Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
archive.html Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
author-index.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
bibliography-index.html Navigation refactor 2026-04-19 14:35:41 -04:00
bibliography-keyword.html Navigation refactor 2026-04-19 14:35:41 -04:00
blog-index.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
blog-post.html Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
commonplace.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
composition.html visual enhancements 2026-04-15 22:25:38 -04:00
current.html Current rework 2026-04-26 19:42:47 -04:00
default.html more prominent related pages 2026-05-03 14:01:14 -04:00
essay-index.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
essay.html Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
home.html Navigation refactor 2026-04-19 14:35:41 -04:00
library.html Spec dilemma 2026-05-01 21:22:01 -04:00
music-catalog.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
new.html Navigation refactor 2026-04-19 14:35:41 -04:00
page.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
photography-by-year-index.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography-by-year.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography-contact-sheet.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography-index.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography-map.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography-series.html Spec dilemma 2026-05-01 21:22:01 -04:00
photography.html Spec dilemma 2026-05-01 21:22:01 -04:00
reading.html Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
score-reader-default.html initial deploy! whoop 2026-03-17 21:56:14 -04:00
score-reader.html yum cappuccino yay! 2026-05-03 21:16:58 -04:00
sitemap.xml Add robots.txt and sitemap.xml; tidy essay-route prefix-strip 2026-05-07 15:08:33 -04:00
tag-index.html Navigation refactor 2026-04-19 14:35:41 -04:00