Skip to content

chore: switch the Read the Docs build to Zensical - #104

Merged
tastybento merged 2 commits into
masterfrom
chore/switch-to-zensical
Sep 7, 2026
Merged

chore: switch the Read the Docs build to Zensical#104
tastybento merged 2 commits into
masterfrom
chore/switch-to-zensical

Conversation

@tastybento

Copy link
Copy Markdown
Member

Follows the trial in #102. Zensical reads the same mkdocs.yml, runs the main.py macros natively, and the output matched the MkDocs build page for page, so production moves over before Material for MkDocs reaches end of life on 2026-11-05.

Changes

  • .readthedocs.yml – Python 3.12, install requirements-zensical.txt, run zensical build and copy site/ to the output directory, per the official Read the Docs Zensical guide.
  • mkdocs.yml – explicit site_url: https://docs.bentobox.world/en/latest/, since Zensical cannot read READTHEDOCS_CANONICAL_URL. Verified the canonical link in the built HTML.
  • CLAUDE.md, requirements-zensical.txt, workflow comments – Zensical is now the primary build; requirements.txt is kept as the MkDocs fallback.

Rollback is a one-file revert of .readthedocs.yml.

Known difference: no "last updated" line in the footer, as Zensical has no git-revision-date-localized support yet.

Tip: set a GITHUB_TOKEN environment variable in the Read the Docs project settings so the translations() macro is not rate-limited during builds.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AtaKe95zrGF2Do7h3FfNBS

Material for MkDocs reaches end of life on 2026-11-05. Zensical was
trialled in #102 (same mkdocs.yml, native macros, classic theme variant)
and the output matches the MkDocs build, so production moves over.

- .readthedocs.yml: Python 3.12, install requirements-zensical.txt, run
  zensical build and copy site/ to the output directory, following the
  official Read the Docs Zensical guide.
- mkdocs.yml: explicit site_url, since Zensical cannot read
  READTHEDOCS_CANONICAL_URL.
- CLAUDE.md, requirements-zensical.txt, workflow comments updated;
  requirements.txt and the mkdocs: fallback are documented for rollback.

Known difference: the "last updated" line from git-revision-date-localized
is no longer shown, as Zensical does not support that plugin yet.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AtaKe95zrGF2Do7h3FfNBS
python.install is only run for sphinx/mkdocs builds, so with build.jobs
alone the zensical command was not found on Read the Docs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AtaKe95zrGF2Do7h3FfNBS
@tastybento
tastybento merged commit 7dbba02 into master Sep 7, 2026
2 checks passed
@tastybento
tastybento deleted the chore/switch-to-zensical branch September 7, 2026 00:52
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