Wiki prose parity cleanup: dead CKEditor CSS, duplicated measure, static parity test #64

Open
opened 2026-07-31 14:19:06 +00:00 by archvillainette · 0 comments
Owner

Follow-up build work from the parity contract in #52 (part of map #47). Not a map ticket — nothing left to decide here.

  1. Delete dead editor-only prose CSS. scss/westgate/_wiki-prose.scss carries ~50 lines targeting .ck.ck-editor__editable_inline.ck-content (roughly :341–:540). The editor is TipTap; nothing emits those classes. They are editor-only copies of heading rules — the same shape that broke justification.
  2. Collapse the duplicated reading measure. _wiki-prose.scss:228 (reader .wiki-content-layout) and :236 (compose editable) both hardcode 58rem. One meaning, two constants. Set --wiki-prose-measure instead; the plugin already applies it to both surfaces (wiki-article-body.css:79, default 70ch).
  3. Add the static parity test. Fail on any prose-affecting property reached through a reader-only ancestor (.wiki-page-content, .wiki-with-fab, .wiki-content-layout, .wiki-namespace-index) or an editor-only ancestor (.westgate-wiki-compose, .wiki-editor__*, .ProseMirror-*). Chrome properties are whitelisted.

Alignment ownership (move justify + hyphens + opt-out set into the plugin behind --wiki-prose-text-align) is plugin work — file in sow-nodebb-plugin-wiki when this lands.

Verify in the live dev stack on both reader and editor, per #52.

Follow-up build work from the parity contract in #52 (part of map #47). Not a map ticket — nothing left to decide here. 1. **Delete dead editor-only prose CSS.** `scss/westgate/_wiki-prose.scss` carries ~50 lines targeting `.ck.ck-editor__editable_inline.ck-content` (roughly :341–:540). The editor is TipTap; nothing emits those classes. They are editor-only copies of heading rules — the same shape that broke justification. 2. **Collapse the duplicated reading measure.** `_wiki-prose.scss:228` (reader `.wiki-content-layout`) and `:236` (compose editable) both hardcode `58rem`. One meaning, two constants. Set `--wiki-prose-measure` instead; the plugin already applies it to both surfaces (`wiki-article-body.css:79`, default `70ch`). 3. **Add the static parity test.** Fail on any prose-affecting property reached through a reader-only ancestor (`.wiki-page-content`, `.wiki-with-fab`, `.wiki-content-layout`, `.wiki-namespace-index`) or an editor-only ancestor (`.westgate-wiki-compose`, `.wiki-editor__*`, `.ProseMirror-*`). Chrome properties are whitelisted. Alignment ownership (move justify + hyphens + opt-out set into the plugin behind `--wiki-prose-text-align`) is plugin work — file in sow-nodebb-plugin-wiki when this lands. Verify in the live dev stack on **both** reader and editor, per #52.
Sign in to join this conversation.