Django template tag for rendering mermaid diagrams.
Project description
Django Mermaid 
Mermaid is a JavaScript-based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. And Django Mermaid aims to use mermaid diagrams in Django templates.
Installation
python -m pip install django-mermaid
Configuration
Add the django_mermaid.apps.MermaidConfig to your INSTALLED_APPS in your Django project's settings.py file.
INSTALLED_APPS = [
..., # other apps
'django_mermaid.apps.MermaidConfig',
]
Usage
After you configure the INSTALLED_APPS, you will be able to load the mermaid in your template and use the template
tags for rendering mermaid diagrams.
{% load mermaid %}
{# for small diagrams #}
{% mermaid "graph LR; A-->B;" %}
{# for larger diagrams #}
{% startmermaid %}
graph LR
A-->B
{% endmermaid %}
Mermaid version
By default, Django Mermaid uses the 9.4.3 version of mermaid. However, if you want to use a specific version of
mermaid, you can set the MERMAID_VERSION variable in your Django project's settings.py file.
MERMAID_VERSION = '10.0.3-alpha.1'
Make sure the version you specify is available on the mermaid CDN, and has the mermaid.min.js file.
Mermaid theme
To set a default theme for the whole project, set the MERMAID_THEME variable in your Django project's settings.py
file. However, Django Mermaid uses
the default theme of
mermaid by default. Also, check out the mermaid docs for
the available themes.
MERMAID_THEME = 'neutral'
Also, you can provide the theme right in the template tag which will dynamically override the value of
the MERMAID_THEME variable.
{% mermaid "graph LR; A-->B;" "dark" %}
{% startmermaid "dark" %}graph LR; A--B;{% endmermaid %}
Mermaid use CDN
By default, Django Mermaid uses the local copy of mermaid from staticfiles. However, if you want to use the CDN version
directly, you can set the MERMAID_USE_CDN variable in your Django project's settings.py file.
MERMAID_USE_CDN = True
Mermaid theme variables
You can define your custom theme by overriding the MERMAID_THEME_VARIABLES variable. You will need to use
the base theme as it is
the only modifiable theme. Check out the mermaid docs for
the complete and up-to-date list of available theme variables.
MERMAID_THEME_VARIABLES = {
'primaryColor': '#BB2528',
'primaryTextColor': '#FFF',
}
Contribute
Any contribution is welcome. If you have any ideas or suggestions, feel free to open an issue or a pull request. And don't forget to add tests for your changes.
License
Copyright (C) 2023 Artyom Vancyan. MIT
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_mermaid-0.1.1.tar.gz.
File metadata
- Download URL: django_mermaid-0.1.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1430802794c1de3ed8282aa7217e67e0c6e61147b792b2d28d6332349868eb37
|
|
| MD5 |
e91ccbebf042ae27e023dde7df0a4993
|
|
| BLAKE2b-256 |
f872cb8dc3bdd8e44976f123551ff957e86dc6ab5c179110f03752635d778ff9
|
File details
Details for the file django_mermaid-0.1.1-py3-none-any.whl.
File metadata
- Download URL: django_mermaid-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
045d9ff26aa82bde93dd1bc759af887524a18d58937516c176c3e78b367fcc84
|
|
| MD5 |
0f3a898438632585ad7f51491af414e4
|
|
| BLAKE2b-256 |
89c9d25fb8bb2f554bf1e6cfea08e77fddaaeebaa05f47fc67e4d83a89d7d6fd
|