docs: T16 — themes self-contained; common.css is the built-in (embed) stylesheet
This commit is contained in:
parent
89679fd784
commit
10e7a2bdb2
2 changed files with 51 additions and 0 deletions
50
docs/tickets/16.md
Normal file
50
docs/tickets/16.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# T16 — Themes must be self-contained; `common.css` is the built-in (embed) stylesheet
|
||||
|
||||
**Status:** open
|
||||
**Priority:** medium
|
||||
**Source:** fox directive 2026-05-12 (after chaostheory palette leaked into meta via `common.css`, fixed in `89679fd` + theme `37c496f`)
|
||||
|
||||
## Problem
|
||||
|
||||
Every base template — `base.j2`, `meta-base.j2`, `chaostheory-base.j2` — includes
|
||||
`snippets/stylesheet-includes.j2`, which loads `/static/css/common.css`. So a meta
|
||||
page and a chaostheory page both pull the same shared stylesheet. When `common.css`
|
||||
carries palette or visual assumptions (as it did after `68ca0ef`), those bleed into
|
||||
every theme. A meta page should load only meta CSS; a chaostheory page should load
|
||||
only chaostheory CSS.
|
||||
|
||||
The intent: **`common.css` (+ `embed.css`) is the "built in" — the styling for embed
|
||||
mode and unthemed namespaces (`base.j2`)**. Full themes are standalone (their base
|
||||
templates already "extend nothing"); they should ship a complete stylesheet and not
|
||||
piggyback on the built-in.
|
||||
|
||||
## Why it's not a one-line change
|
||||
|
||||
The themes are not currently self-contained. They depend on behavioral CSS in
|
||||
`common.css`, e.g. chaostheory's `theme.css` notes *"Reply form inside node —
|
||||
display:none owned by common.css"*. Ripping `common.css` out of the themed templates
|
||||
today would break reply-form toggles, the burger/phone menu, alerts, node action
|
||||
rows, etc.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Inventory which `common.css` rules each theme actually relies on (behavioral:
|
||||
`display:none` toggles, `.toggle-open`, burger menu, AJAX states; structural:
|
||||
`.node`, `.remark-box-div`; visual: alerts, wells, `.question-mark-circle`).
|
||||
2. Move the rules each theme needs into that theme's own CSS (`meta.css`,
|
||||
`remarkbox-theme-chaostheory/theme.css`). Keep them theme-local.
|
||||
3. Split `stylesheet-includes.j2` (or add a `theme_stylesheet_includes` block) so
|
||||
`meta-base.j2` / `chaostheory-base.j2` load only `pygments.css`,
|
||||
`dynamic-remarkbox.css`, the per-namespace stylesheet, and their own theme CSS —
|
||||
not `common.css`.
|
||||
4. `base.j2` keeps `common.css`; `common.css` + `embed.css` become the documented
|
||||
"built-in / embed" stylesheet. Add a header comment to `common.css` saying so.
|
||||
5. Regression-check: embed mode, default (unthemed) namespace, meta (meta.remarkbox.com,
|
||||
faq.remarkbox.com), chaostheory (foxhop.net), light + dark mode, reply-form toggle,
|
||||
burger menu, flash alerts, `?` help circles.
|
||||
|
||||
## Done when
|
||||
|
||||
Loading a meta page pulls zero chaostheory CSS and zero chaostheory-flavored rules
|
||||
from `common.css`, and vice versa; embed/default still styled by `common.css`; all
|
||||
regression points above verified.
|
||||
|
|
@ -20,3 +20,4 @@ Tracked issues from the meta.remarkbox.com and faq.remarkbox.com audit (2026-02-
|
|||
| [T13](13.md) | Reply to lock/archive thread confirming done | resolved | low | meta `7e9d5864` |
|
||||
| [T14](14.md) | meta/faq SSL outage — missing proxy blocks | resolved | critical | postmortem 2026-02-25 |
|
||||
| [T15](15.md) | Operation Undigg — Pandoc export & wiki mode | resolved | high | fox directive 2026-03-09 |
|
||||
| [T16](16.md) | Themes self-contained; `common.css` is the built-in (embed) stylesheet | open | medium | fox directive 2026-05-12 |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue