Skip to content

feat(docs): link the translations under the breadcrumbs, and the AI notice before the footer - #545

Merged
MaksymStoianov merged 2 commits into
developfrom
fix/header-mount-race
Sep 23, 2026
Merged

MaksymStoianov merged 2 commits into
developfrom
fix/header-mount-race

Conversation

@MaksymStoianov

Copy link
Copy Markdown
Member

Summary

The floating controls are gone — no language button, no search button — and with them the widget, its script and the build-profile entry that pointed at it.

Two plain blocks replace them, written into every built page, needing no JavaScript, so a reader without it and a crawler that runs none both see them:

  • Under the breadcrumbs: a row of links to the same page in the other four languages, the current one named but not linked. It is the first element inside the article, which is exactly where the breadcrumbs end.
  • At the end of the page, above the footer: the notice that the documentation was written by AI, in that page's language. It is the last element inside the article.

finalize-site.mjs writes both, as it already writes the hreflang links, the canonical link and the structured data — the build profile is not applied on this builder, which is what the assembled job now guards against, checking for these two blocks instead of the controls it used to.

How to test

npm run docs:check && npm run test

The assembled job assembles the five builds as the deploy does and checks three pages for the language row, the notice, the canonical link and the structured data.

Related issues

refs #539

🤖 Generated with Claude Code

…the article

Neither landed on the published site, and the live page said why.

The header can finish rendering between the check for it and the observer armed
when the check fails, and then no mutation ever follows to react to — so the
controls stayed at the bottom of the viewport. The observer is still there for
the common case, but a poll every 150ms now closes that gap, with one deadline
to stop both.

The notice was inserted before </body>, where the application's own layout
places it at the top of the page rather than after the text. It goes inside the
article now, as its last paragraph, and falls back to the end of the body only
where a page has no article.

Refs #539
… at the end that AI wrote this

The floating pair is gone: no language button, no search button, and with them
the widget, its script and the profile entry that pointed at it.

Two plain blocks take their place, written into every built page and needing no
JavaScript at all — a reader without it, and a crawler that runs none, see both:

- a row of links at the top of the article, which is directly under the
  breadcrumbs, carrying the same page in the other four languages, the current
  one named but not linked;
- the notice at the end of the article, above the footer, in that page's
  language.

The assembled job checks for those two instead of the controls it used to.

Refs #539
@MaksymStoianov
MaksymStoianov merged commit 2450cf7 into develop Sep 23, 2026
13 checks passed
@MaksymStoianov
MaksymStoianov deleted the fix/header-mount-race branch September 23, 2026 20:25
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