Migrating from bifrost-mkdocs¶
intility-bifrost-mkdocs is deprecated; Material for MkDocs reaches end of
life on 2026-11-05. intility-bifrost-zensical is the replacement.
-
Swap the dependency.
-
Change the theme and prune the plugins in
mkdocs.yml. Zensical has no plugin API (zensical/backlog#18). It ships native replacements for a fixed set of MkDocs plugins; see the supported plugins list. Remove every plugin not on that list.awesome-navis on it; add it if you want.nav.ymlfiles instead of a centralnav:block. -
Copy the
markdown_extensionsblock from the Quick Start. -
Build with
zensicalinstead ofmkdocs. If you use the reusable workflow, follow the deploy step in the Quick Start. Pin to anintility-bifrost-zensical-v*tag. The plainv*tags in this repo belong to the deprecatedintility-bifrost-mkdocspackage.Remember to pin the workflow to a SHA ;)
Important
The theme styles the plugins and markdown extensions from the Quick Start, nothing more. If another plugin or extension needs Bifrost styling, open an issue or see the contribution guide.
If you want a setup reference, check out the template.
Edge cases¶
Skip anything here that does not match your setup.
- A custom
palettemust usescheme: default/slateinstead oflight/dark. - Custom
hooksdo not run. - A fence with a bare option superfences does not know, such as
yaml file="x", renders as inline code. Use the brace form:{.yaml file="x"}. - The theme enables
content.action.edit, so the edit link renders whenrepo_urlis set. Zensical defaultsedit_uritoedit/master/docs/; set it yourself if your branch ismain. A customtheme.featureslist replaces the theme's, so add the feature back there. - You can convert
mkdocs.ymltozensical.tomllater; both work. A deep centralnav:becomes hard to read as nested TOML inline tables. Keepmkdocs.ymlor switch toawesome-navin that case.
Note
If you find any other edge cases, or things that do now work, please let us know.