Skip to content

Website: plain pages laid out like the undecuple page; outlined terminal buttons and tabs - #171

Merged
undecuple merged 3 commits into
mainfrom
fork-plain-style
Nov 13, 2026
Merged

undecuple merged 3 commits into
mainfrom
fork-plain-style

Conversation

@undecuple

Copy link
Copy Markdown
Owner

Why

The plain pages were laid out differently from the undecuple page, and readers who know that page found ours cramped. The terminal view's buttons and tabs had no outline, the legend on the "in action" page had no borders, and the "in action" and "discuss" pages gave no way back to the main page.

Change

  • Plain pages (index, in action, discuss), laid out like the undecuple page: under the banner, a box of key and value rows with dotted leaders (project, version, features, repository) beside a box of links; double-framed tables with alternate-row shading; section headings with a block of four greys. The sticky title bar and the framed section legends are gone, and the menu entries are lower case (in action, discuss).
  • Font list taken from the undecuple page (local fonts only, ligatures off), so the two sites look alike on one machine; line spacing stays at 1.5.
  • The terminal view keeps its layout and hides the new block. Its buttons ([F1 help], plain view, the command chips) and menu tabs now have a visible outline, as do the four entries of the legend on the "in action" page.
  • "in action" and "discuss" offer a "Main page" link at the top and the bottom and, when the reader came from another page of this site, a "Previous page" button (site/nav.js: same origin, nothing stored or sent; tools/nav.test.js tests it).
  • tools/site.py generates the new blocks; tools/test_site.py has tests for the layout, the legend and the detached-page navigation, and checks nav.js exists. CI's node step runs the nav test. CHANGELOG Docs and tooling: entry; generated site files regenerated.
  • Why one pull request: the layout rules in site/style.css, the generator that emits the new blocks and the tests that check them depend on each other, so a part alone would not build or pass --check. The change is 449 changed lines: the stylesheet 118, the generator 77, the tests 106, nav.js 31, the generated pages about 115 and the rest small. It is three commits: the restyle, and two merges of main into it (the branch was kept up to date as other changes merged).
  • The Content-Security-Policy of every page is unchanged (nav.js is a same-origin script; the discuss page still alone allows giscus.app, and only after a click).

Tests

  • python3 -m unittest tools.test_site: 46 pass, including the contrast checks for the text colours the new rules use. node --test on the terminal, status, action, discuss and nav tests: 53 pass. python3 tools/features.py, python3 tools/site.py --check, python3 tools/repo_check.py and scripts/check-deploy.sh pass.
  • Looked at in headless Chromium after merging main: the "in action" page at 1200 px wide shows the boxed header, the key and value box beside the links box, the "Main page" button and the outlined legend and controls.

Not in this change

No change to the terminal view's layout or commands, to the pages' content or to the discussion page's security policy. A discuss command for the terminal view is a separate change. Narrow-screen layouts were not looked at again after merging main.

Overlap

Touches site/style.css, tools/site.py, tools/test_site.py, .github/workflows/ci.yml, CHANGELOG.md and the generated pages. #169 and the terminal discuss-command change also touch CHANGELOG.md and the generated site files.

Developed with AI agent assistance.

@undecuple
undecuple merged commit 9cfcbca into main Nov 13, 2026
10 checks passed
@undecuple
undecuple deleted the fork-plain-style branch November 13, 2026 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant