Skip to content

Landing page: / says what the site is, with facts, three steps and entry cards; the first stage grid moves to stages/<slug>/ and Publish checks the marker there (#139) - #148

Merged
Arthurvdv merged 4 commits into
mainfrom
wp16/landing
Oct 28, 2026
Merged

Arthurvdv merged 4 commits into
mainfrom
wp16/landing

Conversation

@Arthurvdv

Copy link
Copy Markdown
Member

Closes #139

<baseUrl>/ becomes the landing page of the dashboard. The grid of the first stage moves to stages/<slug>/, unchanged, and every other address keeps its meaning (#136 section 4).

What changes

  • site/content/_index.md holds the title, the lead (also the meta and Open Graph description) and three paragraphs saying what the site is and why it exists. An organization edits Markdown, not a layout.
  • site/layouts/index.html renders that text plus these parts, built from rulebook.json:
    • the facts: rules, analyzers, levels, stages, last published, engine ref;
    • a three-step path for developers, linking setup/#levels, setup/#stage-<first> and setup/#al-project. The first step links the level pages and makes no claim about their order;
    • entry cards: one per stage and per level with its description, plus Set up an AL project, How this works and Help.
    • The page's <main> is <main class="page page-landing" data-rulebook-landing>.
  • The stage switcher's first link goes to stages/<first>/. aria-current is set only on a stage page's own link. matrix.js is not loaded on /.
  • There is no hash forwarding: an old /#source=... bookmark opens the landing page.
  • Publish: Build-RulebookSite reads stages[0].slug from the data file, checks stages/<slug>/index.html for data-rulebook-matrix and returns MarkerPage. The warning names that page. The plain index.html that Publish writes without the site is untouched.
  • CI publish-action:
    • the marker and 628-row checks move to stages/default/index.html;
    • index.html must carry data-rulebook-landing and no matrix marker;
    • the site.enabled false job also rejects the landing attribute.
  • Docs:
    • docs/dashboard.md, ARCHITECTURE 6.4 and the URL table, reference/naming.md;
    • D54 gets a new Status line (in the file and in the index row); its text stays as written;
    • user pages: dashboard.md (sections 1, 2, 5, 7), getting-started.md, hosting.md, changing-a-rule.md;
    • release notes.

Notes

Verification

  • Pester, all passed, including the real-Hugo case: Rulebook.Site 55, Publish.Action 52, Rulebook.Publish 100, Rulebook.Deploy 76, Rulebook.Template 77, Docs 340. Site, Publish.Action and Docs were re-run after the review fixes.
  • node --test tests/site/: 21 passed.
  • Playwright on a fixture build, 31 of 31 checks passed:
    • / has no matrix and renders the cards, facts and steps in both colour modes, with no horizontal scroll at 390 px (also without JavaScript);
    • on stages/default/ the hash filters work, the stage links keep the hash, and a cell click adds a change;
    • /#source=override stays on the landing page;
    • no request leaves 127.0.0.1.
  • Review: Sonnet code-review round 1 found no must-fix; three should-fix items (documentation and wording) and the nits are applied.

🤖 Generated with Claude Code

Arthurvdv and others added 4 commits October 28, 2026 21:06
…three steps and entry cards; the first stage link goes to stages/<slug>/ (#139)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…d the warning names that page (#139)

Build-RulebookSite reads the first stage slug from data/rulebook.json and reports MarkerPage and
MarkerPresent for it; "/" is the landing page and carries data-rulebook-landing. The Hugo stub writes
a landing index.html without the marker and drops the stage markers under HUGO_STUB_NOMARKER. Site
tests move the marker, row and stage-link assertions to stages/default/ and add the landing page;
CI checks the 628 rows on stages/default/index.html and the landing attribute on index.html.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…/<slug>/ (#139)

docs/dashboard.md (layout, main kind, views, the marker page of the build and section 9),
ARCHITECTURE 6.4 and the Publish site step, an addendum line in D54; the user pages:
dashboard.md sections 1, 2, 5 and 7 (the landing page, the new address of the first grid,
content/_index.md as the text to edit, the warning text), getting-started, hosting and
changing-a-rule; the release notes line under v1.0.0-beta.8.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…line, a level step without an order claim (#139)

ARCHITECTURE section 10 and naming.md name "/" the landing page; the D54 addendum moves to its
Status line and the ADR index row. The first step of the landing page asks for the level that
matches how strict the rules should be and links the level pages. Publish names the page of the
first stage when the data file gives no slug; the matrix partial comment names the stage page;
a hover for the primary button; dashboard.md section 5 tells an organization with an edited
content/_index.md to take the new text from the update diff.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.

WP16: landing page at /; the matrix moves to stages/<slug>/

1 participant