skillfed

mkdocs-awesome-pages-plugin

An MkDocs plugin that simplifies configuring page titles and their order

mkdocs-awesome-pages-plugin v2.10.1 921.5K downloads/30d#4,719 on PyPI625
Permissive license MIT Active released

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

uv

uv add mkdocs-awesome-pages-plugin

poetry

poetry add mkdocs-awesome-pages-plugin

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9

Tags

mkdocs navigation orderingmkdocs page title customizationmkdocs plugin directory structuremkdocs nav configurationmkdocs awesome pagesmkdocs navigation controlmkdocs page sorting
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-nav

A MkDocs plugin that lets you customize your…

permissive · top 5,000 on PyPI

mkdocs-include-dir-to-nav

A MkDocs plugin that automatically expands…

permissive · top 15,000 on PyPI

mkdocs-literate-nav

MkDocs plugin that lets you define site…

permissive · top 5,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI

mkdocs-simple-hooks

A MkDocs plugin that lets you define custom…

permissive · top 15,000 on PyPI

mkdocs-task-collector

A MkDocs plugin that scans Markdown files for…

permissive · top 15,000 on PyPI

mkdocs-exclude

A mkdocs plugin that excludes files and…

permissive · top 15,000 on PyPI

mkdocs-api-autonav

Automatically generates API reference…

permissive · top 15,000 on PyPI

mkdocs-monorepo-plugin

Enables building multiple sets of documentation…

permissive · top 5,000 on PyPI

mkdocs-auto-tag-plugin

Automatically assigns tags to MkDocs pages…

permissive · top 5,000 on PyPI