mkdocs-embed-external-markdown
Mkdocs plugin that allow to inject external markdown or markdown section from given url
Decision gist · record as of 2026-08-14
Yes, if you need to embed external markdown into MkDocs and can tolerate aging maintenance. The plugin is stable (no known vulnerabilities, low install friction, permissive license), but the 900-day gap since the last release means new MkDocs features or Python versions may not be supported. Install it for straightforward content embedding, but monitor the repository for compatibility issues with your MkDocs version.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- If fetching from private GitHub repositories, the GH_TOKEN environment variable must be set with a valid personal access token.
- Low install friction with only two runtime dependencies (Jinja2 and requests).
License · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
last release 2024-02-26 (900 days) · last repo commit 2025-02-24
0 known vulnerabilities (OSV.dev, 2026-08-14) · 108,786 downloads/mo, #12,539 on PyPI
Alternatives
Verify before relying
pip install mkdocs-embed-external-markdown
# In mkdocs.yml:
plugins:
- external-markdown
# In your markdown:
{{ external_markdown('https://raw.githubusercontent.com/user/repo/main/README.md', '## Section Name') }}- Whether the plugin handles rate limiting or caching of fetched external content
- Performance characteristics when embedding many sections or large markdown files
- Compatibility with recent MkDocs versions beyond what the aging maintenance status suggests
What it is and what it does
This is a MkDocs plugin that extends your documentation build process to pull markdown content from external URLs and inject it directly into your pages. It works by parsing Jinja2 template syntax in your markdown files—you specify a URL and optionally a section header (like '## Installation'), and the plugin fetches that content and embeds it at build time. The plugin strips top-level headers from embedded content so you can use your own, and it supports extracting specific sections defined by markdown headers at any level.
The plugin depends on Jinja2 (for template rendering) and requests (for fetching URLs). It can authenticate with private GitHub repositories if you set the GH_TOKEN environment variable. A known gotcha: if your markdown contains Jinja2-like syntax (common in code examples documenting template languages, Ansible, or Django), you need to wrap those blocks in `{% raw %}` tags to prevent the plugin from trying to interpret them as macros.
Use it for
- Keep installation or configuration instructions in a central repository and embed them in multiple documentation sites without duplication.
- Build a documentation hub that pulls README sections from different project repositories into a unified guide.
- Embed changelog or API documentation from external sources into your MkDocs site without manual copying.
- Document Ansible playbooks or Django templates by embedding code examples from live repositories while protecting them from Jinja2 interpretation.
- Maintain single-source-of-truth documentation by referencing sections from GitHub private repositories using a personal access token.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to embed external markdown into MkDocs and can tolerate aging maintenance.
The plugin is stable (no known vulnerabilities, low install friction, permissive license), but the 900-day gap since the last release means new MkDocs features or Python versions may not be supported. Install it for straightforward content embedding, but monitor the repository for compatibility issues with your MkDocs version.
Install
mkdocs-embed-external-markdown on PyPI
Before you install
Low install friction with only two runtime dependencies (Jinja2 and requests). Maintenance status is aging—last release was 900 days ago, though the repository remains active with a recent commit on 2025-02-24. The package supports current Python versions (3.9+).
Requires Python 3.9 or later. If fetching from private GitHub repositories, the GH_TOKEN environment variable must be set with a valid personal access token.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install mkdocs-embed-external-markdown
# In mkdocs.yml:
plugins:
- external-markdown
# In your markdown:
{{ external_markdown('https://raw.githubusercontent.com/user/repo/main/README.md', '## Section Name') }}
Verify before relying
- Whether the plugin handles rate limiting or caching of fetched external content
- Performance characteristics when embedding many sections or large markdown files
- Compatibility with recent MkDocs versions beyond what the aging maintenance status suggests
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesJinja2requests |
| Maintenance | Aging 900 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 108,786 / month, #12,539 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.9 |
Evidence: mkdocs_embed_external_markdown-3.0.2-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 embed external markdown”
- mkdocs-embed-external-markdownA MkDocs plugin that fetches and embeds markdown content or specific…
- mkdocs-table-reader-pluginA MkDocs plugin that inserts tables from external files (CSV, JSON,…
- mkdocs-plugin-inline-svgA MkDocs plugin that replaces SVG image references in Markdown with…
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-video · mkdocs-markdownextradata-plugin · mkdocs-table-reader-plugin · mkdocs-plugin-inline-svg · mkdocs-include-markdown-plugin · mkdocs-autorefs · mkdocs-mermaid2-plugin · mkdocs-meta-manager · wikitextparser