skillfed

mkdocs-literate-nav

MkDocs plugin to specify the navigation in Markdown instead of YAML

mkdocs-literate-nav v0.6.3 1.3M downloads/30d#4,108 on PyPI103
Permissive license MIT Active released

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-nav

uv

uv add mkdocs-literate-nav

poetry

poetry add mkdocs-literate-nav

Installing 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

Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: Web EnvironmentIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: DocumentationTopic :: Software Development :: DocumentationTopic :: Text Processing :: Markup :: MarkdownTyping :: Typed

Tags

mkdocs navigation markdownmkdocs plugin nav filemarkdown-based site navigationmkdocs literate navalternative to mkdocs yaml navmkdocs summary filemkdocs wildcard navigation
mkdocs-plugindocumentation-tooling

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

mkdocs-awesome-pages-plugin

A plugin for MkDocs that lets you customize…

permissive · top 5,000 on PyPI

mkdocs-include-dir-to-nav

A MkDocs plugin that automatically expands…

permissive · top 15,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI

mkdocs-awesome-nav

A MkDocs plugin that lets you customize your…

permissive · top 5,000 on PyPI

mkdocs-redirects

A MkDocs plugin that generates HTTP redirects…

permissive · top 5,000 on PyPI

mkdocs-api-autonav

Automatically generates API reference…

permissive · top 15,000 on PyPI

mkdocs-llmstxt

MkDocs plugin that generates an /llms.txt file…

permissive · top 15,000 on PyPI

mkdocs-monorepo-plugin

Enables building multiple sets of documentation…

permissive · top 5,000 on PyPI

mkdocs-autorefs

A MkDocs plugin that automatically creates…

permissive · top 5,000 on PyPI

zensical

Zensical is a static site generator that…

permissive · top 5,000 on PyPI

Further reading