Migration¶
How to move an existing MkDocs project to Void β from a default theme, from Material, or from Read the Docs.
From default MkDocs theme¶
The default mkdocs theme has no customization layer. Migration is
straightforward:
- Install Void:
- Switch the theme in
mkdocs.yml:
-
Remove theme-specific overrides. If you had a
custom_dirwith overrides for the default theme, they won't apply to Void. Move any custom CSS intoextra_cssor a custom stylesheet. -
Build and verify:
What transfers automatically¶
- All Markdown content (no changes needed)
navstructuremarkdown_extensions(pymdownx, admonitions, etc.)pluginsconfigurationextra_css/extra_javascript
What changes¶
- The visual design switches to Void's glass system
- Color scheme toggle is automatic (dark/light)
- Search uses Void's full-screen overlay (not the default sidebar search)
- Keyboard shortcuts are available (
/,?,Esc)
From Material for MkDocs¶
Material is the most common migration source. Void supports most of the same Markdown extensions and pymdownx plugins, so content usually transfers unchanged.
Step-by-step¶
- Install Void:
- Switch the theme:
-
Keep your
markdown_extensions. Void supports the same pymdownx extensions (admonitions, tabs, code highlighting, footnotes, task lists, diagrams, math, etc.). No changes needed. -
Map Material-specific features:
| Material feature | Void equivalent |
|---|---|
palette toggle |
Automatic dark/light toggle (no config needed) |
features: navigation.tabs |
Void uses sidebar nav by default |
features: search.suggest |
Void search includes suggestions |
features: content.code.copy |
Void has built-in copy buttons |
features: content.tabs.link |
Tabs sync via localStorage |
icon theme |
Not supported β use theme.logo instead |
font customization |
Configured via theme.void.typography.font_family |
custom_dir overrides |
Move to extra_css / extra_javascript |
- Remove Material-specific keys from
mkdocs.yml:
# Remove these:
palette:
- scheme: default
toggle: ...
features:
- navigation.tabs
- search.suggest
font:
text: Roboto
- Build and verify:
What transfers automatically¶
- All Markdown content
navstructuremarkdown_extensionsandpymdownxconfigpluginsconfigurationextra_css/extra_javascriptrepo_url/repo_name
What changes¶
- Visual design switches to Void's glass system
- Color scheme toggle becomes automatic
- Search switches to Void's full-screen overlay
- Tab syncing, code copy, and keyboard shortcuts are built in
From Read the Docs theme¶
The Read the Docs theme (mkdocs-rtd-theme) has a different structure:
- Install Void:
- Switch the theme:
- Remove RTD-specific config:
- Check
markdown_extensions. RTD uses some extensions that Void supports differently. The key ones:
| RTD extension | Void support |
|---|---|
admonition |
β Supported |
pymdownx.details |
β Supported |
pymdownx.superfences |
β Supported |
toc with permalink |
β Supported (Void adds anchor links automatically) |
- Build and verify:
From any theme βιη¨ checklist¶
Regardless of your current theme:
- Run
mkdocs build --strictβ zero warnings - Verify dark/light mode toggle works
- Verify search returns results
- Verify keyboard shortcuts (
/,?,Esc) - Check mobile responsive layout
- Verify code blocks have copy buttons
- Verify tabs sync across the page
- Verify admonitions render correctly
- Check that
extra_cssandextra_javascriptstill load - Verify
repo_urllink appears in the header