Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/landmaj/mkdocs-d2-plugin
A plugin for embedding D2 diagrams in MkDocs.
https://github.com/landmaj/mkdocs-d2-plugin
diagrams mkdocs mkdocs-plugin text-to-diagram
Last synced: 2 days ago
JSON representation
A plugin for embedding D2 diagrams in MkDocs.
- Host: GitHub
- URL: https://github.com/landmaj/mkdocs-d2-plugin
- Owner: landmaj
- License: mit
- Created: 2023-09-22T20:56:00.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-16T11:41:09.000Z (about 2 months ago)
- Last Synced: 2025-02-08T20:51:56.803Z (2 days ago)
- Topics: diagrams, mkdocs, mkdocs-plugin, text-to-diagram
- Language: Python
- Homepage: https://landmaj.github.io/mkdocs-d2-plugin/
- Size: 278 KB
- Stars: 25
- Watchers: 1
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mkdocs-d2-plugin
A plugin for embedding D2 diagrams in MkDocs.
**Documentation and live demo can be found
[here](https://landmaj.github.io/mkdocs-d2-plugin/).**## Requirements
* [Python](https://www.python.org/) >= 3.9
* [MkDocs](https://www.mkdocs.org/) >= 1.6.0
* [D2](https://d2lang.com) >= 0.6.3## Installation
Install the plugin using pip:
```bash
pip install mkdocs-d2-plugin
```And add it to your `mkdocs.yml`:
```yaml
plugins:
- d2
```## Usage
### Fenced code block
````md
```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!
```
````### Image tag
```md
![Diagram](diagram.d2)
```## Demo app
You can find demo app in the `docs` directory.
Live version is available [here](https://landmaj.github.io/mkdocs-d2-plugin/).To run in locally:
```bash
cd docs
python3 -m venv .venv
source .venv/bin/activate
pip install mkdocs-material mkdocs-d2-plugin
mkdocs serve
```To run it using Docker:
```bash
cd docs
docker build --tag mkdocs-d2-plugin:latest .
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-d2-plugin:latest
```