mkdocs-markmap
mkdocs-markmap copied to clipboard
MkDocs plugin and extension to create mindmaps from markdown using markmap
mkdocs-markmap
Beautiful and simple mindmaps written in markdown.
This is a plugin and an extension for mkdocs to add markmap.
Prerequisits
This plugin was tested with, but is not limited to:
- Python 3.9
- mkdocs 1.3
Quickstart
Install
pip install mkdocs-markmap
Configure
Add this to mkdocs.yml
:
plugins:
- markmap
Usage
This plugin supports code blocks of markdown as follows:
```markmap
# Root
## Branch 1
* Branchlet 1a
* Branchlet 1b
## Branch 2
* Branchlet 2a
* Branchlet 2b
```
It can also make use of file includes to keep your markdown tidy:
Look at this beautiful mindmap:
{!mindmap.mm.md!}
Advanced Settings
There are more options available for mkdocs.yml
(shown values are defaults):
plugins:
- markmap:
base_path: docs
encoding: utf-8
file_extension: .mm.md
d3_version: 7
lib_version: 0.15.3
view_version: 0.15.3
In addition, feel free to define your favourite source urls like this:
plugins:
- markmap:
# disable the default assets first
d3_version: ''
lib_version: ''
view_version: ''
extra_javascript:
- https://unpkg.com/d3@7/dist/d3.min.js
- https://unpkg.com/[email protected]/dist/browser/index.js
- https://unpkg.com/[email protected]/dist/browser/index.js
Troubleshooting
Nav tree lists markmaps
- Move your markmap files to a separate folder next to
docs
, e.g.mindmaps
- Configure
base_path
accordingly (see Advanced Settings)
Static javascript files not working
- Ensure naming of javascript files matches the scheme (see Advanced Settings)
- Copy all javascript files to
doc/js/
, otherwisemkdocs
will not copy static files tosite/
- Define all files in
extra_javascript
, e.g.
extra_javascript:
- js/markmap-d3.js
- js/markmap-lib.js
- js/markmap-view.js
Usage of proxy is preventing download of javascript files
Usually proxies should be supported by requests
, which is used for downloading all required javascript files. If the issue remains, try downloading the files yourself and store them accordingly (see Static javascript files not working)
Credits :clap:
Some of the development approaches are based on implementations provided by the following projects:
- markmap (key feature of this project)
- markdown-include (basis for extension support)
- mkdocs-mermaid2-plugin (basis for plugin support)