Skip to content

Give the landing page the same header and navigation as the docs - #445

Merged
rocklambros merged 1 commit into
integrationfrom
fix/landing-match-docs-chrome
Nov 1, 2026
Merged

rocklambros merged 1 commit into
integrationfrom
fix/landing-match-docs-chrome

Conversation

@rocklambros

Copy link
Copy Markdown
Collaborator

What changed

Gives the landing page the same top header and left pane as the docs pages: icon, title, theme toggle, Search, GitHub link, pane title, chevrons, accent color, and the External resources heading. The title comes from site_name in mkdocs.yml everywhere. The icon and title link to the homepage on every docs page, the 404 page, and the landing page.

PR #366 shared the rows, but each surface kept its own markup and CSS, and the tests compared only the rows. New tests now pin the title and the home links on both surfaces.

Which issue does this implement

Closes #444

Base branch

  • integration

Type of change

  • Bug fix

I tested this

  • uv run pytest -q: 1210 passed, 1 skipped
  • uv run mkdocs build --strict: passed
  • Twelve deliberate breaks each failed the new tests, including a hardcoded "ACS" title and each home link
  • Compared computed styles at 1440 pixels in both themes, and clicked the icon and title from docs, deep, 404, and landing pages
  • Checked the menu and overflow at 400 pixels wide

Checklist

  • Commits carry a human Signed-off-by line via git commit -s
  • Prose follows STYLE.md
  • No secrets, tokens, or internal URLs in the diff

Security

site_name reaches the page escaped. The content security policy adds nothing, and the page loads no new third-party resource.

…home

The two surfaces shared their rows through extra.acs_nav, but each had its
own markup and CSS, and the tests compared rows only. So the landing page
said ACS in wide tracking, had no top header on desktop, and drew its pane
differently, with every test green.

The landing page now carries the docs header at every width: icon, title,
theme toggle, Search, and the repository link. The title and repository
values come from mkdocs.yml through new placeholders, validated and escaped
like the pane's values. Search links to the docs field because this page has
no index. The pane takes the docs fonts, spacing, chevrons, accent color, and
External resources heading. The drawer opens at the docs breakpoint, below
the header, so its toggle stays reachable. Chrome sizes use a unit that
tracks the docs rem, because this page's own rem has to stay 16px.

The icon and the title now link to the homepage on both surfaces, on every
page. The docs had the logo on /docs/ and no title link. A new header.html
override derives the target the way the pane's Home row does, so it holds on
the custom domain, on the project subpath, and on the 404 page.

Tests hold the wordmark and pane title to site_name, the landing header to
the docs header, and the home links across every built page.

Signed-off-by: rocklambros <rock@rockcyber.com>
@github-project-automation github-project-automation Bot moved this to Needs triage in ACS Project Tracker Nov 1, 2026
@rocklambros
rocklambros merged commit ba428b9 into integration Nov 1, 2026
10 checks passed
@github-project-automation github-project-automation Bot moved this from Needs triage to Done in ACS Project Tracker Nov 1, 2026
@rocklambros
rocklambros deleted the fix/landing-match-docs-chrome branch November 1, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Bug] The landing page and docs pages have different headers and navigation

1 participant