Files
sow-nodebb-theme/prototype
archvillainette 7a29402d93 prototype(#54): variants and the settled ledger row
Adds the three category-list variants the set was judged against (roomy,
tabular, tabular+gold) and the fixes that came out of looking at them in a
browser:

- square everywhere, with enough specificity to beat the theme's own
  `border-radius: 8px !important`; only the status dot stays round
- a drop shadow under every bounded surface, so a square edge reads as an
  edge and not a cut
- Cinzel always uppercase
- the Well component: the three right-hand readings sit in recesses on a
  shared grid, inset on all four sides
- the clamped teaser clamps by line count, not by NodeBB's hard max-height,
  which was cutting the glyphs
2026-07-31 18:00:47 +02:00
..

Throwaway prototype for #53 — palette candidates on a dense page

Not for merge. The theme SCSS on this branch is mechanically tokenised (literal hexes and rgba() triples turned into var(--wg-*)) so a candidate palette can be swapped at runtime instead of rebuilt per candidate.

  • contrast.py — WCAG check for every candidate surface/ink pair. Run first.
  • _base-plumnoir.css + candidate-{a,b,c}.css — the candidates, as :root overrides.
  • seed.js — categories + one 13-post topic with a quote, over the REST API.
  • shots.js / probe.js — screenshots and a computed-style probe, both against the live stack.
  • shots/ — the images the resolution is judged on.

Replay:

cd ../sow-nodebb && nix develop --command make dev-reset && nix develop --command make dev
cd - && node prototype/seed.js
export PLAYWRIGHT_BROWSERS_PATH=$(nix build --print-out-paths --no-link nixpkgs#playwright-driver.browsers)
P=$(nix build --print-out-paths --no-link nixpkgs#playwright-test)
NODE_PATH=$P/lib/node_modules nix shell nixpkgs#playwright-test -c node prototype/shots.js