Skip to content

docs: migrate from MkDocs to Zensical (#144)#145

Merged
thomaschristory merged 1 commit into
mainfrom
docs/migrate-zensical
Jul 12, 2026
Merged

docs: migrate from MkDocs to Zensical (#144)#145
thomaschristory merged 1 commit into
mainfrom
docs/migrate-zensical

Conversation

@thomaschristory

Copy link
Copy Markdown
Owner

Closes #144.

Migrates the docs toolchain from MkDocs + Material for MkDocs to Zensical (the successor, same team). Zensical reads the existing mkdocs.yml natively — no config or content changes, all URLs/anchors preserved.

Changes

  • pyproject.toml — drop mkdocs + mkdocs-material, add zensical>=0.0.38 (resolves to 0.0.50), keep pyyaml.
  • justfilejust docszensical serve, just docs-buildzensical build --strict.
  • .github/workflows/docs.yml — build step → uv run zensical build --strict. Output dir stays site/, so the Pages upload path is unchanged. The mkdocs.yml path trigger is kept (still the config file).
  • doc refsrelease-process.md, gen_docs.py docstring, .gitignore comment updated off "mkdocs".
  • mkdocs.yml left untouched per upstream guidance.

Compatibility

Vanilla Material setup — stock theme.features, standard markdown_extensions, no third-party plugins: beyond built-in search — migrates cleanly per the compat matrix.

Verification

  • zensical build --strict on a clean tree → No issues found, exit 0.
  • Rendered site spot-checked: nav tabs/sections, light/dark palette toggle, admonitions (note/tip/warning), superfences code blocks, code-copy (JS-injected), and search all present.

Note on docs/superpowers/

That dir is gitignored local-only planning docs. MkDocs excluded it via exclude_docs:, which Zensical does not honor — so a local zensical build --strict will warn on its stale cross-links. CI is unaffected (dir is absent in checkouts → clean build). Per maintainer decision, the dir is left in place; move/remove it locally if you want a clean local strict build.

Rollback

mkdocs.yml is untouched — revert is just undoing the deps + command + CI commits.

🤖 Generated with Claude Code

Zensical is the successor to MkDocs + Material for MkDocs, built by the
same team. It consumes the existing mkdocs.yml natively, preserving all
URLs/anchors, so no config or content changes are needed.

- pyproject: drop mkdocs + mkdocs-material, add zensical>=0.0.38
- justfile / docs.yml CI: mkdocs {serve,build} -> zensical {serve,build}
- doc refs (release-process, gen_docs, .gitignore) updated off mkdocs

mkdocs.yml is left untouched (still the config Zensical reads); the
`mkdocs.yml` path trigger in docs.yml is kept for the same reason.

Verified: `zensical build --strict` on a clean tree reports "No issues
found" (exit 0); rendered site is equivalent — nav tabs/sections,
light/dark palette toggle, admonitions, superfences, code-copy, and
search all present.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018rmbpXS72z5bRWXEMPXG6t
@thomaschristory
thomaschristory merged commit 78273a4 into main Jul 12, 2026
9 checks passed
@thomaschristory
thomaschristory deleted the docs/migrate-zensical branch July 12, 2026 19:50
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.

docs: migrate from MkDocs to Zensical (tutorial)

1 participant