mkdocs-awesome-pages-plugin
An MkDocs plugin that simplifies configuring page titles and their order
What it is and what it does
This plugin extends MkDocs by allowing you to control page navigation and ordering through simple `.pages` YAML files placed in your documentation directories, rather than maintaining a monolithic navigation structure in `mkdocs.yml`. It depends on mkdocs, wcmatch, and natsort to parse configuration files, match patterns, and apply natural sort ordering.
You can customize titles, reorder pages, apply ascending or descending sort, use natural sort order, filter remaining items with glob patterns, group pages into sections, hide directories, and collapse single-page folders. The plugin integrates with MkDocs' file-based navigation, letting you define parts of your nav manually in `mkdocs.yml` and use `...` as a placeholder for auto-generated content from the file structure.
Use it for:
- Reorder documentation pages without editing mkdocs.yml by creating .pages files in each directory.
- Apply custom titles to navigation entries while keeping the actual filenames unchanged.
- Sort documentation sections alphabetically or in reverse order using natural sort logic.
- Hide certain directories from navigation while keeping them accessible via direct URL.
- Combine manual navigation definition in mkdocs.yml with auto-generated structure for mixed control.
- Collapse single-page folders to reduce navigation nesting and improve readability.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A plugin for MkDocs that lets you customize page navigation order and titles using `.pages` configuration files placed in your documentation directories, without needing to define the full navigation structure in `mkdocs.yml`.
Yes. The plugin is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real pain point for MkDocs users managing complex documentation structures. It is stable (Production/Stable status) and widely used. Install if you use MkDocs and want finer control over navigation without maintaining a rigid mkdocs.yml structure.
Install
mkdocs-awesome-pages-plugin on PyPI
pip
pip install mkdocs-awesome-pages-pluginuv
uv add mkdocs-awesome-pages-pluginpoetry
poetry add mkdocs-awesome-pages-pluginInstalling mkdocs-awesome-pages-plugin
Before you install
Low friction install with a pure-Python wheel. Actively maintained with recent commits and a stable release cycle; requires MkDocs 1.0 or higher and Python >=3.8.1.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install mkdocs-awesome-pages-plugin
# In mkdocs.yml:
plugins:
- search
- awesome-pages
# In docs/.pages:
nav:
- introduction.md
- ...
- summary.md
Requires MkDocs version 1.0 or higher; plugin will not activate if mkdocs.yml already defines a nav or pages entry without a '...' placeholder.
Verify before relying
- Whether the plugin supports MkDocs 2.x versions beyond those listed in classifiers.
- Performance impact when managing large documentation trees with many nested directories.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — mkdocs, wcmatch, natsort |
| Maintenance | actively maintained — 600 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 921,472/month — #4,719 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mkdocs_awesome_pages_plugin-2.10.1-py3-none-any.whl
Keywords: mkdocs, python, markdown, wiki
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-navA MkDocs plugin that lets you customize your…
permissive · top 5,000 on PyPI
mkdocs-include-dir-to-navA MkDocs plugin that automatically expands…
permissive · top 15,000 on PyPI
mkdocs-literate-navMkDocs plugin that lets you define site…
permissive · top 5,000 on PyPI
mkdocs-section-indexMkDocs plugin that makes section headers…
permissive · top 5,000 on PyPI
mkdocs-simple-hooksA MkDocs plugin that lets you define custom…
permissive · top 15,000 on PyPI
mkdocs-task-collectorA MkDocs plugin that scans Markdown files for…
permissive · top 15,000 on PyPI
mkdocs-excludeA mkdocs plugin that excludes files and…
permissive · top 15,000 on PyPI
mkdocs-api-autonavAutomatically generates API reference…
permissive · top 15,000 on PyPI
mkdocs-monorepo-pluginEnables building multiple sets of documentation…
permissive · top 5,000 on PyPI
mkdocs-auto-tag-pluginAutomatically assigns tags to MkDocs pages…
permissive · top 5,000 on PyPI