MkDocs plugin for Draftmk to filter documentation by user roles
Project description
Note: This plugin is part of the DraftMk ecosystem – a full-stack markdown documentation platform with live editing, GitHub integration, and role-based publishing.
draftmk-mkdocs-role-filter-plugin
A custom MkDocs plugin that filters documentation pages based on role-based access metadata in your Markdown frontmatter.
Features
- Filters content at build time based on allowed roles
- Supports role-based navigation pruning
- Easy to integrate into existing MkDocs projects
Installation
You can install this plugin using pip (recommended in a virtual environment):
pip install draftmk-mkdocs-role-filter-plugin
Usage
In your mkdocs.yml configuration file, enable the plugin and set the allowed roles:
plugins:
- role-filter:
allowed_roles:
- public
Pages not matching the specified roles will be excluded from the build and navigation.
Frontmatter Example
Each Markdown file should declare its role in the frontmatter:
---
title: "Getting Started"
role: public
---
You can use custom roles such as internal, admin, etc.
How It Works
The plugin performs two key operations:
on_page_markdown
- Checks each page's frontmatter for a
rolefield. - If the role matches one of the configured
allowed_roles, the page is included in the build. - If not, the page content is hidden.
on_nav
- Prunes the MkDocs navigation (
nav) to exclude items that have no visible children or unauthorized pages. - This ensures the final navigation reflects only authorized content.
Development
To test locally with editable install:
pip install -e .
License
MIT © Jonmatum
echo "Pura Vida & Happy Coding!";
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file draftmk_mkdocs_role_filter_plugin-0.2.0.tar.gz.
File metadata
- Download URL: draftmk_mkdocs_role_filter_plugin-0.2.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
420cf56738e50d517f46549622d6b7021ae7e23388d117368b79b1f891707e80
|
|
| MD5 |
a31ee345bd76e57aa6febcab72f74439
|
|
| BLAKE2b-256 |
7f262abbeb30fe731281a8d2b5086d88ef8e986d489285525a11e042b1781739
|
File details
Details for the file draftmk_mkdocs_role_filter_plugin-0.2.0-py3-none-any.whl.
File metadata
- Download URL: draftmk_mkdocs_role_filter_plugin-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92141fcdd40b6d6a0b177a582b1791f0ebe7ffff6d45738df48df934481c359f
|
|
| MD5 |
ae1cc287a644bb357b26ae59f9c208d2
|
|
| BLAKE2b-256 |
a507aedfd43553ba1041e840ebf6605082789ce555a8edc5298797c917600a21
|