跳转到内容

20260913-0329-doc-table-layout Fix squeezed table rendering and widen the doc column

  • status: completed
  • priority: P1
  • owner: claude/session-63037002
  • createdAt: 2026-09-13 03:29

Almost every table on the published site renders with collapsed columns: cell text wraps one character per line while the table itself never scrolls. The corpus holds 40+ files with 6-13 column tables (worst: bizplan/product/control/P09-control-protocol-evaluation.md with 13 columns, single source rows up to 1436 characters), so the defect is site-wide, not page-specific.

Cause: VitePress 1.6.4 ships .vp-doc table { display: block; overflow-x: auto }. A display: block table is width-constrained to the content column, and the anonymous table box inside it falls back to auto layout within that width instead of overflowing, so overflow-x: auto never produces a scrollbar. Auto layout shrinks columns toward their min-content width, which for CJK text is a single character. Latin-heavy sites do not show the defect because English words have a wide min-content.

Second, aggravating factor: with the sidebar disabled the doc column is capped at 784 px (container 1104 px) by VPDoc.vue, which is narrow for tables of this density.

Acceptance: no table renders with per-character wrapping at a 1440 px viewport; tables wider than the column scroll horizontally inside their own container rather than squeezing; prose readability is not degraded; bun run docs:build and git diff --check pass; the result is checked as a screenshot, not only built.

Fixing squeezed table rendering and the doc column width.

  • blocked by: (none)
  • blocks: (none)
  • Full tier: touches .vitepress/config.mts (markdown renderer rule), .vitepress/theme/custom.css, and docs/changelog.md; build configuration is a risk area.

  • The working tree already carries uncommitted, unrelated changes from 20260913-0144-product-matrix-readability (custom.css, diagram-zoom.ts, ELK dependency, Mermaid htmlLabels: false). This task adds to the same custom.css file.

  • unclaim: Owner session ended; the user directed this session to complete the plan.

  • 2026-09-14 03:15: Verified against the built site served by vitepress preview on 127.0.0.1:4173, captured with a headless zenika/alpine-chrome container at 1440 px and 1920 px (tmp/shots/products-*.png, p09-eval-1440.png, benchmark-1440.png, bizplan-1440.png). The product catalogue, the 13-column protocol evaluation and the vendor benchmark render with real table layout, no per-character wrapping, and scroll inside their own wrapper; prose on the business plan reads comfortably at the 1104 px column. Option A of plan 20260913-0331 as implemented.

  • complete: Table wrapper, column floor and wider content column verified by screenshots at 1440 and 1920 px.