Skip to content

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

Merged
MaksymStoianov merged 5 commits into
mainfrom
develop
Sep 23, 2026
Merged

MaksymStoianov merged 5 commits into
mainfrom
develop

Conversation

@MaksymStoianov

Copy link
Copy Markdown
Member

Summary

Every page now carries two plain blocks, written in after the build and 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.
  • At the end of the page, above the footer — the notice that the documentation was written by AI, in that page's language. It used to be inserted before </body>, where the application's own layout put it at the top of the page; it is the last element of the article now.

Gone with this: the floating language and search buttons, the widget behind them, its script, the build-profile entry that pointed at it, and the search index that fed it — the script, its npm entry and the two CI steps that wrote search-index.json for five languages.

The assembled job checks three pages for the language row, the notice, the canonical link and the structured data, so none of it can go missing quietly again.

AGENTS.md describes what finalize-site.mjs does today rather than what it did before.

How to test

assembled is green on this branch. After the deploy: the language row sits under the breadcrumbs, the notice above the footer, and nothing floats at the bottom of the viewport.

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
feat(docs): link the translations under the breadcrumbs, and the AI notice before the footer
The widget it fed is gone, so the index built beside every language on each
deploy had no reader left: the script, its npm entry and the two CI steps go
with it.

Refs #539
chore(docs): drop the search index nothing reads any more
@MaksymStoianov
MaksymStoianov merged commit e89a2e8 into main Sep 23, 2026
16 checks passed
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