Zensical ships a redesigned "modern" theme: a flat header that uses the page
background color and the Inter typeface, rather than Material's colored app-bar
and Roboto, and it keeps links / the nav active-item pill / the announce banner
on its default indigo accent. The mealie palette and custom.css load fine, but
the modern theme no longer wires --md-primary-fg-color to the header, and the
indigo accent clashes with the brand orange.
- mkdocs.yml: set theme.font to Roboto / Roboto Mono (Zensical honors theme.font)
- custom.css:
- restore the orange app-bar (.md-header/.md-tabs) from --md-primary-fg-color
- brand the accent (links, nav active pill, announce banner) by overriding
--md-typeset-a-color and --md-accent-fg-color[--transparent]; the
[scheme][primary] selector matches the theme's own (0,2,0) rules so it wins
in both light (mealie) and dark (slate) modes
- make the announce banner text adaptive so it is readable in light mode
(was hardcoded light-gray, invisible on the modern theme's light banner)
- ai-providers.md: fix a broken self-referential link surfaced by Zensical's
build check ("backend configuration" now points to backend-config.md)
Verified with headless-Chrome screenshots in both light and dark mode:
`zensical build` is clean ("No issues found"); Roboto fonts, orange header/tabs,
orange links, and a readable announce banner in both schemes.
Material for MkDocs is in maintenance mode; Zensical is its successor from
the same maintainers. Zensical reads the existing mkdocs.yml natively, so
this is a tooling swap rather than a config rewrite.
- pyproject.toml: replace mkdocs-material with zensical in docs/dev groups
- Taskfile/CI/netlify: swap `mkdocs build|serve` for `zensical build|serve`
- mkdocs.yml: move custom `demo_url` under `extra:` (Zensical doesn't expose
custom top-level config keys to templates); move `custom_dir` out of the
docs source tree so raw templates aren't published as static files
- home.html: use `config.extra.demo_url`; replace the non-functional
`lang.t('source.link.title')` (a Python call MiniJinja can't run, already
rendering as literal text) with a static tooltip
Verified: `zensical build` exits clean ("No issues found"), 46 pages, with
mermaid, admonitions, content tabs, task lists, nav tabs, code-copy, custom
homepage, and announce banner all rendering at parity with the prior build.