Fix wiki prose drifting right on pages without a ToC #41

Merged
archvillainette merged 1 commits from fix/wiki-prose-reading-width into main 2026-07-23 19:23:59 +00:00
Owner

Problem

On wiki article pages without a ToC drawer (most feats, short articles), the body text renders pushed ~187px to the right with an empty left gutter — it reads as a broken indent, and the same drift shows in the compose editor. Reported as "Justify broke the editor and text indent".

Root cause

_wiki-prose.scss caps every prose block at --wiki-prose-measure: 54rem and centers it with margin-inline: auto. That centering only looks right when the content column is ~58rem, which the theme only sets up while a ToC drawer is open (grid-template-columns: minmax(0,58rem) minmax(0,1fr)). ToC-less pages run the card full page width, so the 54rem paragraph centers inside it with big symmetric gutters, while the full-width callout and fact table make it look inset.

text-align: justify is the sibling rule in the same block (the visible "Justify" change) but is not the cause — justified paragraphs render with no indent once the width is capped.

The compose editor breaks the same way: its root is class="westgate-wiki westgate-wiki-compose", so the identical .westgate-wiki .wiki-article-prose centering leaks into the editing surface.

Fix

Two scoped rules in the existing @media (min-width: 1200px) block:

  • cap the reading column on non-section article pages (.wiki-with-fab:not(.wiki-with-fab--section) .wiki-content-layout)
  • cap the compose editing surface (.westgate-wiki-compose .wiki-compose-editor.wiki-article-prose)

Both max-width: 58rem; margin-inline: auto, so the card/editor hugs the text and everything shares one left edge — matching the design's "card hugs the text block" intent and the ToC-page geometry. Section / namespace-index listings opt out and keep running full-width, left.

Verification

Reproduced and verified with Playwright against the real compiled CSS and the real editor bundle:

  • read view: description left:268 (margin-left:187px) in a 1272px card → aligned with the callout in a centered 896px card
  • editor: description left:268 (callout at 19) → tidy centered 58rem column

SCSS compiles clean (dart-sass exit=0). Editor fix verified via local repro with the real bundle (couldn't reach the authed live editor) — worth an eyeball after deploy.

🤖 Generated with Claude Code

## Problem On wiki article pages **without a ToC drawer** (most feats, short articles), the body text renders pushed ~187px to the right with an empty left gutter — it reads as a broken indent, and the same drift shows in the compose editor. Reported as "Justify broke the editor and text indent". ## Root cause `_wiki-prose.scss` caps every prose block at `--wiki-prose-measure: 54rem` and centers it with `margin-inline: auto`. That centering only looks right when the content column is ~58rem, which the theme only sets up while a ToC drawer is open (`grid-template-columns: minmax(0,58rem) minmax(0,1fr)`). ToC-less pages run the card full page width, so the 54rem paragraph centers inside it with big symmetric gutters, while the full-width callout and fact table make it look inset. `text-align: justify` is the sibling rule in the same block (the visible "Justify" change) but is **not** the cause — justified paragraphs render with no indent once the width is capped. The compose editor breaks the same way: its root is `class="westgate-wiki westgate-wiki-compose"`, so the identical `.westgate-wiki .wiki-article-prose` centering leaks into the editing surface. ## Fix Two scoped rules in the existing `@media (min-width: 1200px)` block: - cap the reading column on non-section article pages (`.wiki-with-fab:not(.wiki-with-fab--section) .wiki-content-layout`) - cap the compose editing surface (`.westgate-wiki-compose .wiki-compose-editor.wiki-article-prose`) Both `max-width: 58rem; margin-inline: auto`, so the card/editor hugs the text and everything shares one left edge — matching the design's "card hugs the text block" intent and the ToC-page geometry. Section / namespace-index listings opt out and keep running full-width, left. ## Verification Reproduced and verified with Playwright against the real compiled CSS and the real editor bundle: - read view: description `left:268` (`margin-left:187px`) in a 1272px card → aligned with the callout in a centered 896px card - editor: description `left:268` (callout at 19) → tidy centered 58rem column SCSS compiles clean (`dart-sass exit=0`). Editor fix verified via local repro with the real bundle (couldn't reach the authed live editor) — worth an eyeball after deploy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
archvillainette added 1 commit 2026-07-23 19:22:29 +00:00
The reading-layout rule caps each prose block at --wiki-prose-measure (54rem)
and centers it with margin-inline:auto. That centering only looks right when
the content column is ~58rem, which the theme sets up only while a ToC drawer
is open. Pages without a ToC (most feats, short articles) run the card full
page width, so the capped paragraph centers inside it with big side gutters
that read as a broken left indent — while the full-width callout and fact
table make the paragraph look inset. text-align:justify is the sibling rule
in the same block, not the cause.

Cap the reading column itself (and the compose editing surface, which shares
the .westgate-wiki scope) to 58rem so the card hugs the text on every article
page, matching the ToC layout. Section/namespace-index listings opt out and
keep running full-width.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
archvillainette scheduled this pull request to auto merge when all checks succeed 2026-07-23 19:23:41 +00:00
xtul approved these changes 2026-07-23 19:23:57 +00:00
archvillainette merged commit 1e2b386137 into main 2026-07-23 19:23:59 +00:00
archvillainette deleted branch fix/wiki-prose-reading-width 2026-07-23 19:24:00 +00:00
Sign in to join this conversation.