Skip to content

Plugin Recommendation

MkDocs boasts a rich ecosystem of plugins that can satisfy a wide range of user customization needs, this is also one of the main reasons why the MkDocs is so popular.

category groups most plugins by category. Below, I will select practical ones for recommendation based on the following criteria:

  • Practical and concise
  • Good performance
  • Actively maintained (updated within the last year)

Contributions and PRs are welcome.

External plugins⚓︎

External plugins are developed by third-party developers and require manual installation.

Graphics & Charts⚓︎

mkdocs-glightbox - click to open the image as a lightbox

mkdocs-drawio - embed interactive drawio diagrams in documents

<!-- Add a drawio file like a normal image -->

![](../assets/images/git.drawio)
mkdocs-mermaid2-plugin - renders mermaid text into diagrams (built-in)
%%{init: {'theme': 'default', 'themeVariables': {'fontSize': '12px'}}}%%
flowchart LR
    A(1.Front Matter)
    B(2.Cache File)
    C(3.Git Timestamp)
    D(4.File Timestamp)
    A -.Creation date.-> B -.-> C -.-> D
    A -.Last updated.-> C
```mermaid
%%{init: {'theme': 'default', 'themeVariables': {'fontSize': '12px'}}}%%
flowchart LR
    A(1.Front Matter)
    B(2.Cache File)
    C(3.Git Timestamp)
    D(4.File Timestamp)
    A -.Creation date.-> B -.-> C -.-> D
    A -.Last updated.-> C
```
mkdocs-markmap - create interactive mind maps from markdown and embed them in documents

Usage: use markmap fence blocks to enclose markdown content

````markmap

## Mind Map

### Fence Block Enclosure

- That's great. Anything

### Formatting and Lists

- **strong** ~~del~~ *italic* ==highlight==
- `inline code`
- [x] checkbox
- Katex: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$

### Code block

```js
for (let i = 0; i < 5; i++) {
    console.log("value", i);
}
```

### Table block

| Header1 | Header2 |
| --- | --- |
| item 1 | 1\. one<br /> 2\. two |

### Image

![](../assets/images/favicon.png)

````
## Mind Map

### Fence Block Enclosure 

- That's great. Anything

### Formatting and Lists

- **strong** ~~del~~ *italic* ==highlight==
- `inline code`
- [x] checkbox
- KaTeX: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$

### Code block

```js
for (let i = 0; i < 5; i++) {
    console.log("value", i);
}
```

### Table block

| Header1 | Header2 |
| --- | --- |
| item 1 | 1\. one<br /> 2\. two |

### Image

![](../../assets/newlogo.svg)

Built-in plugins⚓︎

Built-in plugins are installed automatically along with MaterialX.

Optimization⚓︎

  •   Built-in optimize plugin


    The optimize plugin automatically identifies and optimizes all media files
    that you reference in your project by using compression and conversion
    techniques.


    Your site loads faster as smaller images are served to your users

  •   Built-in offline plugin


    The offline plugin adds support for building offline-capable documentation,
    so you can distribute the site directory as a .zip
    file that can be downloaded.


    Your documentation can work without connectivity to the internet

Content⚓︎

  •   Built-in search plugin


    The search plugin adds a search bar to the header, allowing users to search
    the entire documentation, so it's easier for them to find what they're
    looking for.


    Your documentation is searchable without any external services, even
    offline

  •   Built-in document-dates plugin


    The document-dates plugin adds date and author to your documents. It's 20-500 times faster than git-authors and
    git-revision-date-localized.


    Manual date configuration is no longer required for any feature

  •   Built-in tags plugin


    The tags plugin adds first-class support for categorizing pages with tags,
    adding the ability to group related pages to improve the discovery of
    related content.


    Your pages are categorized with tags, yielding additional context

  •   Built-in blog plugin


    The blog plugin adds first-class support for blogging to MaterialX for
    MkDocs, either as a sidecar to your documentation or as a standalone
    installation.


    Your blog is built with the same powerful engine as your documentation

Multiple instances⚓︎

Several built-in plugins have support for multiple instances, which means that
they can be used multiple times in the same configuration file, allowing to
fine-tune behavior for separate sections of your project. Currently, the
following plugins have support for multiple instances: