mkdocs-literate-nav
MkDocs plugin to specify the navigation in Markdown instead of YAML
What it is and what it does
mkdocs-literate-nav is a MkDocs plugin that replaces the YAML-based nav configuration with Markdown lists. Instead of maintaining a separate nav structure in mkdocs.yml, you write a SUMMARY.md file (or any other Markdown file you choose) containing nested bullet-point lists of links, and the plugin parses it to build your site's navigation tree.
The plugin supports several advanced features: wildcards to match files by pattern, cross-linked subdirectories where each folder can have its own SUMMARY.md, and inferred page ordering that falls back to MkDocs' default behavior when pages aren't explicitly listed. It works well alongside section-index and gen-files plugins, and is designed as a more explicit alternative to awesome-pages. The approach is intentionally opposite to awesome-pages—only directories explicitly mentioned in parent nav files trigger implicit resolution of subdirectories.
Use it for:
- Organize documentation where navigation structure mirrors the file layout, using Markdown lists instead of maintaining separate YAML config.
- Build large doc sites with mixed explicit ordering (for important pages) and wildcard patterns (for auto-discovered content).
- Create GitHub-friendly documentation where the nav file (e.g., README.md) displays nicely in the repository while also serving as MkDocs navigation.
- Manage multi-section documentation where each subdirectory maintains its own navigation file independently.
- Migrate from awesome-pages to a more explicit, Markdown-first navigation model.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
MkDocs plugin that lets you define site navigation as Markdown lists instead of YAML, with support for wildcards, cross-linked subdirectories, and inferred page ordering.
Yes. The plugin is actively maintained, has no known vulnerabilities, installs with low friction, and uses a permissive MIT license. It solves a genuine pain point—writing navigation as Markdown instead of YAML—and integrates well with the MkDocs ecosystem. Install it if your documentation benefits from Markdown-based nav or if you want finer control over page ordering without maintaining parallel YAML config.
Install
mkdocs-literate-nav on PyPI
pip
pip install mkdocs-literate-navuv
uv add mkdocs-literate-navpoetry
poetry add mkdocs-literate-navInstalling mkdocs-literate-nav
Before you install
Low install friction with a pure-Python wheel. Active maintenance with recent commits and a stable release history since 2020. Supports current Python versions (3.9–3.13) and depends only on mkdocs and properdocs.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it safe to adopt in any project.
Quickstart
pip install mkdocs-literate-nav
# In mkdocs.yml:
plugins:
- literate-nav:
nav_file: SUMMARY.md
# In docs/SUMMARY.md:
* [Home](index.md)
* [Guide](guide.md)
* [Setup](guide/setup.md)
* [Usage](guide/usage.md)
The nav file must be placed at the root of the docs directory; MkDocs must be installed and configured first.
Verify before relying
- Whether properdocs is a required runtime dependency or an optional enhancement.
- Performance characteristics when handling very large navigation trees with many wildcards.
- Compatibility with all MkDocs themes and extensions beyond the mentioned section-index and gen-files.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — mkdocs, properdocs |
| Maintenance | actively maintained — 151 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,287,518/month — #4,108 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mkdocs_literate_nav-0.6.3-py3-none-any.whl
Keywords: mkdocs, mkdocs-plugin
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
mkdocs-awesome-pages-pluginA plugin for MkDocs that lets you customize…
permissive · top 5,000 on PyPI
mkdocs-include-dir-to-navA MkDocs plugin that automatically expands…
permissive · top 15,000 on PyPI
mkdocs-section-indexMkDocs plugin that makes section headers…
permissive · top 5,000 on PyPI
mkdocs-awesome-navA MkDocs plugin that lets you customize your…
permissive · top 5,000 on PyPI
mkdocs-redirectsA MkDocs plugin that generates HTTP redirects…
permissive · top 5,000 on PyPI
mkdocs-api-autonavAutomatically generates API reference…
permissive · top 15,000 on PyPI
mkdocs-llmstxtMkDocs plugin that generates an /llms.txt file…
permissive · top 15,000 on PyPI
mkdocs-monorepo-pluginEnables building multiple sets of documentation…
permissive · top 5,000 on PyPI
mkdocs-autorefsA MkDocs plugin that automatically creates…
permissive · top 5,000 on PyPI
zensicalZensical is a static site generator that…
permissive · top 5,000 on PyPI