mkdocs-markdownextradata-plugin
A MkDocs plugin that injects the mkdocs.yml extra variables into the markdown template
Decision gist · record as of 2026-08-14
Yes, if you need to inject dynamic values into markdown content during MkDocs builds. The package is stable, has low install friction, and solves a real gap in MkDocs' templating model. Dormant maintenance is a minor concern—test compatibility with your MkDocs version before relying on it for production, but the simple scope and lack of security issues make it a low-risk choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires MkDocs version 0.17 or higher.
- Low friction: pure Python wheel with only mkdocs and pyyaml as runtime dependencies.
- Maintenance is dormant (last release 722 days ago), but the repository remains active and the package is marked Production/Stable.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and retain copyright notices.
last release 2024-08-22 (722 days) · last repo commit 2024-08-22 · 91 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 119,509 downloads/mo, #12,071 on PyPI
Alternatives
Verify before relying
pip install mkdocs-markdownextradata-plugin
# In mkdocs.yml:
plugins:
- markdownextradata: {}
extra:
customer:
name: Your name
# In your .md file:
{{ customer.name }}- Whether the plugin works correctly with recent MkDocs versions (last release was 722 days ago).
- Performance characteristics when loading large external data files or many YAML/JSON files from the data directory.
What it is and what it does
This is a MkDocs plugin that makes the `extra:` variables defined in your mkdocs.yml available as Jinja2 template variables directly within your markdown files. Instead of only being able to use variables in HTML templates, you can now reference them in your .md content—useful for inserting client names, URLs, image paths, or other dynamic values that should vary across documentation builds.
The plugin supports both inline `extra:` configuration and external YAML/JSON data files. You can point it to one or more directories containing data files, and it will automatically load them and make their contents available as nested template variables. It also allows customization of Jinja2 delimiters and comment syntax, which helps when your markdown itself contains Jinja-like syntax that would otherwise collide with the template engine.
Use it for
- Build multi-tenant documentation where client names, domains, or branding vary per build by storing them in extra variables.
- Maintain a single markdown source with placeholder variables for URLs, API endpoints, or configuration values that differ per environment.
- Organize large documentation projects by splitting context data into multiple YAML files in a _data directory and referencing them in markdown.
- Avoid duplicating content across documentation versions by using variables to swap out version-specific URLs or feature names.
- Customize Jinja2 syntax to prevent template conflicts when your markdown contains code examples or documentation about Jinja2 itself.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to inject dynamic values into markdown content during MkDocs builds.
The package is stable, has low install friction, and solves a real gap in MkDocs' templating model. Dormant maintenance is a minor concern—test compatibility with your MkDocs version before relying on it for production, but the simple scope and lack of security issues make it a low-risk choice.
Install
mkdocs-markdownextradata-plugin on PyPI
Before you install
Low friction: pure Python wheel with only mkdocs and pyyaml as runtime dependencies. Maintenance is dormant (last release 722 days ago), but the repository remains active and the package is marked Production/Stable.
Requires MkDocs version 0.17 or higher.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and retain copyright notices.
Quickstart
pip install mkdocs-markdownextradata-plugin
# In mkdocs.yml:
plugins:
- markdownextradata: {}
extra:
customer:
name: Your name
# In your .md file:
{{ customer.name }}
Verify before relying
- Whether the plugin works correctly with recent MkDocs versions (last release was 722 days ago).
- Performance characteristics when loading large external data files or many YAML/JSON files from the data directory.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesmkdocspyyaml |
| Maintenance | Dormant 722 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 119,509 / month, #12,071 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: mkdocs_markdownextradata_plugin-0.2.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “mkdocs template variables in markdown”
- mkdocs-markdownextradata-pluginInjects mkdocs.yml extra variables into markdown files before…
- mkdocs-macros-pluginExtends MkDocs with Jinja2 templating to use variables and macros in…
- mkdocs-include-markdown-pluginA MkDocs plugin that includes content from Markdown files or other…
Give your agent the search over MCP, or paste the wish link into any chat.
More Documentation packages
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
Sphinx generates professional documentation from reStructuredText source files, producing HTML, PDF, EPUB, and other formats with automatic cross-references, code highlighting, and hierarchical navigation.
Griffe extracts the complete structure and signatures of Python programs to generate API documentation or detect breaking changes in your project's public API.
Install it if you need to programmatically inspect Python code structure, generate API docs, or enforce API stability in CI.
A Sphinx extension that outputs documentation in serialized HTML formats (JSON and pickle) alongside standard HTML.
Alabaster is a clean, responsive Sphinx theme for documentation that requires Python 3.10 or newer and Sphinx 6.2 or newer.
A Sphinx extension that generates HTML help files from reStructuredText documentation source.
See also mkdocs-macros-plugin · mkdocs-table-reader-plugin · mkdocs-embed-external-markdown · mkdocs-video · mkdocs-include-markdown-plugin · yte · markdown-exec · mkdocs-meta-manager · mkdocs-awesome-pages-plugin · mkdocs-open-in-new-tab