# Code execution, variables & templating

22 projects, most used and most active first. 5 of them build on MkDocs NG in the weekly [compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml).

Data from 2026-11-01.

## macros

Create richer and more beautiful pages in MkDocs, by using variables and calls to macros in the markdown code.

- **Install:** `pip install mkdocs-macros-plugin`
- **Plugin:** `macros`
- :lucide-badge-check: **Builds on MkDocs NG** in the [weekly compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml)
- :lucide-star: 410 · :lucide-download: 1.3M/month · :lucide-clock: last commit 2026-05-03 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/fralau/mkdocs-macros-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-macros-plugin/)

## mkdocs-jupyter

Use Jupyter Notebook in mkdocs.

- **Install:** `pip install mkdocs-jupyter`
- **Plugin:** `mkdocs-jupyter`
- :lucide-badge-check: **Builds on MkDocs NG** in the [weekly compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml)
- :lucide-star: 509 · :lucide-download: 282k/month · :lucide-clock: last commit 2026-10-22 · :lucide-scale: Apache-2.0
- [:brand-github: GitHub](https://github.com/danielfrg/mkdocs-jupyter) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-jupyter/)

## markdown-exec

Utilities to execute code blocks in Markdown files.

- **Install:** `pip install markdown-exec`
- **Plugin:** `markdown-exec`
- :lucide-badge-check: **Builds on MkDocs NG** in the [weekly compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml)
- :lucide-star: 176 · :lucide-download: 979k/month · :lucide-clock: last commit 2026-10-31 · :lucide-scale: ISC
- [:brand-github: GitHub](https://github.com/pawamoy/markdown-exec) · [:brand-pypi: PyPI](https://pypi.org/project/markdown-exec/)

## gen-files

MkDocs plugin to programmatically generate documentation pages during the build.

- **Install:** `pip install mkdocs-gen-files`
- **Plugin:** `gen-files`
- :lucide-badge-check: **Builds on MkDocs NG** in the [weekly compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml)
- :lucide-star: 143 · :lucide-download: 997k/month · :lucide-clock: last commit 2026-04-17 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/oprypin/mkdocs-gen-files) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-gen-files/)

## mknotebooks

A plugin for mkdocs to help you include Jupyter notebooks in your projects.

- **Install:** `pip install mknotebooks`
- **Plugin:** `mknotebooks`
- :lucide-star: 141 · :lucide-download: 56k/month · :lucide-clock: last commit 2023-08-11 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/greenape/mknotebooks) · [:brand-pypi: PyPI](https://pypi.org/project/mknotebooks/)

> [!WARNING]
> No commits since 2023-08-11. Check that it still fits your setup.

## markdownextradata

A MkDocs plugin that injects the mkdocs.yml extra variables into the markdown template.

- **Install:** `pip install mkdocs-markdownextradata-plugin`
- **Plugin:** `markdownextradata`
- :lucide-badge-check: **Builds on MkDocs NG** in the [weekly compatibility test](https://github.com/mkdocs-ng/mkdocs/actions/workflows/compat.yml)
- :lucide-star: 91 · :lucide-download: 67k/month · :lucide-clock: last commit 2024-08-22 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/rosscdh/mkdocs-markdownextradata-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-markdownextradata-plugin/)

> [!WARNING]
> No commits since 2024-08-22. Check that it still fits your setup.

## mkdocs-marimo

mkdocs plugin for reactive and interactive docs with marimo.

- **Install:** `pip install mkdocs-marimo`
- **Plugin:** `marimo`
- :lucide-star: 116 · :lucide-download: 3.9k/month · :lucide-clock: last commit 2026-07-28 · :lucide-scale: Apache-2
- [:brand-github: GitHub](https://github.com/marimo-team/mkdocs-marimo) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-marimo/)

## mkdocs-markmap

MkDocs plugin and extension to create mindmaps from markdown using markmap.

- **Install:** `pip install mkdocs-markmap`
- **Plugin:** `markmap`
- :lucide-star: 74 · :lucide-download: 1.4k/month · :lucide-clock: last commit 2025-02-11 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/markmap/mkdocs_markmap) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-markmap/)

> [!WARNING]
> No commits since 2025-02-11. Check that it still fits your setup.

## placeholder

Add placeholders to your MkDocs pages.

- **Install:** `pip install mkdocs-placeholder-plugin`
- **Plugin:** `placeholder`
- :lucide-star: 21 · :lucide-download: 18k/month · :lucide-clock: last commit 2026-05-31 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/six-two/mkdocs-placeholder-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-placeholder-plugin/)

## meta-manager

MkDocs plugin for managing meta tags across folders and files.

- **Install:** `pip install mkdocs-meta-manager`
- **Plugin:** `meta-manager`
- :lucide-star: 6 · :lucide-download: 353k/month · :lucide-clock: last commit 2025-01-20 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/timmeinerzhagen/mkdocs-meta-manager) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-meta-manager/)

> [!WARNING]
> No commits since 2025-01-20. Check that it still fits your setup.

## Termynal

Python markdown terminal. Built for mkdocs.

- **Install:** `pip install termynal`
- **Plugin:** `termynal`
- :lucide-star: 157 · :lucide-download: 34k/month · :lucide-clock: last commit 2026-06-20 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/termynal/termynal.py) · [:brand-pypi: PyPI](https://pypi.org/project/termynal/)

## user-defined-values

MkDocs User Defined Values.

- **Install:** `pip install mkdocs-user-defined-values`
- **Plugin:** `user-defined-values`
- :lucide-star: 4 · :lucide-download: 269/month · :lucide-clock: last commit 2022-07-10 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/rahult/mkdocs-user-defined-values) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-user-defined-values/)

> [!WARNING]
> No commits since 2022-07-10. Check that it still fits your setup.

## Entangled

An MkDocs plugin that lets you do Literate Programming through Entangled.

- **Install:** `pip install mkdocs-entangled-plugin`
- **Plugin:** `entangled`
- :lucide-star: 3 · :lucide-download: 6.4k/month · :lucide-clock: last commit 2025-11-20 · :lucide-scale: Apache-2.0
- [:brand-github: GitHub](https://github.com/entangled/mkdocs-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-entangled-plugin/)

## mkdocs-jupyterlite

A MkDocs plugin for embedding interactive jupyter notebooks in your docs via jupyterlite.

- **Install:** `pip install mkdocs-jupyterlite`
- **Plugin:** `jupyterlite`
- :lucide-star: 25 · :lucide-download: 2.2k/month · :lucide-clock: last commit 2026-07-03 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/NickCrews/mkdocs-jupyterlite) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-jupyterlite/)

## pheasant

Documentation tool for Markdown conversion by Jupyter client.

- **Install:** `pip install pheasant`
- **Plugin:** `pheasant`
- :lucide-star: 16 · :lucide-download: 238/month · :lucide-clock: last commit 2025-03-22 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/daizutabi/pheasant) · [:brand-pypi: PyPI](https://pypi.org/project/pheasant/)

> [!WARNING]
> No commits since 2025-03-22. Check that it still fits your setup.

## markdown-filter

Adds a markdown template filter to the jinja templating environment in mkdocs.

- **Install:** `pip install mkdocs-markdown-filter`
- **Plugin:** `markdown-filter`
- :lucide-star: 5 · :lucide-download: 7.5k/month · :lucide-clock: last commit 2019-02-06 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/byrnereese/mkdocs-markdown-filter) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-markdown-filter/)

> [!WARNING]
> No commits since 2019-02-06. Check that it still fits your setup.

## mkdocs-data-plugin

Mkdocs plugin that allows reading data from markup files and use it in your Markdown pages.

- **Install:** `pip install mkdocs-data-plugin`
- **Plugin:** `data`
- :lucide-star: 4 · :lucide-download: 279/month · :lucide-clock: last commit 2026-03-25 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/joapuiib/mkdocs-data-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-data-plugin/)

## nbconvert

A MkDocs plug-in provides a source parser for *.ipynb files.

- **Install:** `pip install mkdocs-nbconvert`
- **Plugin:** `nbconvert`
- :lucide-star: 13 · :lucide-download: 151/month · :lucide-clock: last commit 2025-10-10 · :lucide-scale: BSD-2-Clause
- [:brand-github: GitHub](https://github.com/tanbro/mkdocs-nbconvert) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-nbconvert/)

> [!WARNING]
> No commits since 2025-10-10. Check that it still fits your setup.

## mkjsfiddle

An MkDocs plugin that lets you edit code fences in JSFiddle.

- **Install:** `pip install mkjsfiddle`
- **Plugin:** `jsfiddle`
- :lucide-star: 5 · :lucide-download: 52/month · :lucide-clock: last commit 2023-06-07 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/stadiamaps/mkjsfiddle) · [:brand-pypi: PyPI](https://pypi.org/project/mkjsfiddle/)

> [!WARNING]
> No commits since 2023-06-07. Check that it still fits your setup.

## jinja2sandbox

A MkDocs plugin that enables the Jinja2-sandbox.

- **Plugin:** `jinja2sandbox`
- :lucide-star: 5 · :lucide-clock: last commit 2019-03-20 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/rkoe/mkdocs-jinja2sandbox)

> [!WARNING]
> No commits since 2019-03-20. Check that it still fits your setup.

## mkdocs_protobuf

Mkdocs plugin to render protobuf messages.

- **Install:** `pip install mkdocs-protobuf`
- **Plugin:** `mkdocs_protobuf`
- :lucide-star: 2 · :lucide-download: 853/month · :lucide-clock: last commit 2022-03-30 · :lucide-scale: Apache-2
- [:brand-github: GitHub](https://github.com/rymurr/mkdocs-protobuf) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-protobuf/)

> [!WARNING]
> No commits since 2022-03-30. Check that it still fits your setup.

## codeyaml

Allows for more than one yaml config in mkdocs.

- **Install:** `pip install mkdocs-codeyaml-plugin`
- **Plugin:** `codeyaml`
- :lucide-download: 40/month · :lucide-clock: last commit 2019-04-30 · :lucide-scale: MIT
- [:brand-github: GitHub](https://github.com/textileio/mkdocs-codeyaml-plugin) · [:brand-pypi: PyPI](https://pypi.org/project/mkdocs-codeyaml-plugin/)

> [!WARNING]
> No commits since 2019-04-30. Check that it still fits your setup.
