MkDocs plugin for D2
Project description
mkdocs-d2-plugin
A plugin for the MkDocs documentation site generator which automatically generates and embeds D2 diagrams.
Requirements
Installation
Install the plugin using pip:
pip install mkdocs-d2-plugin
And add it to your mkdocs.yml
:
plugins:
- d2
Usage
The plugin will automatically generate and embed D2 diagrams from code blocks
with the d2
language tag.
```d2
shape: sequence_diagram
Alice -> John: Hello John, how are you?
Alice -> John.ack: John, can you hear me?
John.ack -> Alice: Hi Alice, I can hear you!
John -> Alice: I feel great!
```
Configuration
The plugin can be configured in your mkdocs.yml
file.
plugins:
- d2:
executable: d2
layout: dagre
theme: 0
dark_theme: False
sketch: False
pad: 100
scale: -1.0
force_appendix: False
Run d2 --help
for more information about the options.
Everything (except executable path) can be overriden locally. Quotes around values are mandatory.
```d2 sketch="True" pad="30"
shape: sequence_diagram
Alice -> John: Hello John, how are you?
Alice -> John.ack: John, can you hear me?
John.ack -> Alice: Hi Alice, I can hear you!
John -> Alice: I feel great!
```
There is one special option, available only in fenced code blocks:
```d2 render="False"
Bob -> Alice
```
This option disables rendering of the diagram, but still allows you to use
d2
language tag to highlight the code.
Example
You can find example app in the example
directory.
Live version is available here.
To run in locally:
cd example
python3 -m venv .venv
source .venv/bin/activate
pip install mkdocs-material mkdocs-d2-plugin
mkdocs serve
To run it using Docker:
cd example
docker build --tag mkdocs-d2-plugin:latest .
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-d2-plugin:latest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mkdocs_d2_plugin-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9508d97fc9b58184b69ddcae55cbe54a6979f9f1ba5b215bf80a9463b269d3e3 |
|
MD5 | 8d27679456fd10a275c04fdcad28a318 |
|
BLAKE2b-256 | cde55803121cf231995a19184a80b9de88a75794f11fee994c7ca9eef50baf9a |