Beautiful and simple mindmaps written in markdown.
This is a plugin and an extension for mkdocs to add markmap.
This plugin was tested with, but is not limited to:
- Python 3.9
- mkdocs 1.3
pip install mkdocs-markmap
Add this to mkdocs.yml
:
plugins:
- markmap
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!}
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/markmap-lib@0.15.3/dist/browser/index.js
- https://unpkg.com/markmap-view@0.15.3/dist/browser/index.js
- Move your markmap files to a separate folder next to
docs
, e.g.mindmaps
- Configure
base_path
accordingly (see Advanced Settings)
- 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
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)
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)