A PlantUML plugin for Markdown
Project description
PlantUML Extension for Python-Markdown
This plugin implements a block extension which can be used to specify a PlantUML diagram which will be converted into an image and inserted in the document.
Syntax:
::uml:: [format="png|svg|txt"] [classes="class1 class2 ..."] [alt="text for alt"] [title="Text for title"]
PlantUML script diagram
::end-uml::
Example:
::uml:: format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram"
Goofy -> MickeyMouse: calls
Goofy <-- MickeyMouse: responds
::end-uml::
The GitLab/GitHub block syntax is also recognized. Example:
```plantuml format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram"
Goofy -> MickeyMouse: calls
Goofy <-- MickeyMouse: responds
```
Options are optional (otherwise the wouldn't be options), but if present must be specified in the order format
, classes
, alt
, title
.
The option value may be enclosed in single or double quotes.
Installation
You need to install PlantUML (see the site for details) and Graphviz 2.26.3 or later.
The plugin expects a program plantuml
in the classpath. If not installed by your package
manager, you can create a shell script and place it somewhere in the classpath. For example,
save te following into /usr/local/bin/plantuml
(supposing PlantUML installed into
/opt/plantuml
):
#!/bin/bash
java -jar /opt/plantuml/plantuml.jar ${@}
For Gentoo Linux there is an ebuild at http://gpo.zugaina.org/dev-util/plantuml/RDep: you can download
the ebuild and the files
subfolder or you can add the zugaina
repository with layman
(reccomended).
To use the plugin with Python-Markdown you have three choices:
-
do a simple
pip install plantuml-markdown
, and the plugin should be ready to be used -
copy the file
plantuml.py
in theextensions
folder of Python-Markdown. For example, for Python 2.7 you must do:$ sudo cp plantuml.py /usr/lib/python27/site-packages/markdown/extensions/
-
copy the file somewhere in your home. A good choice may be the
user-site
path, for example (bash
syntax):$ export INSTALLPATH="`python -m site --user-site`/plantuml-markdown" $ mkdir -p "$INSTALLPATH" $ cp plantuml.py "$INSTALLPATH/mdx_plantuml.py" $ export PYTHONPATH="$INSTALLPATH"
You must export
PYTHONPATH
before runningmarkdown_py
, or you can put the definition in~/.bashrc
.
After installed, you can use this plugin by activating it in the markdownm_py
command. For example:
markdown_py -x plantuml mydoc.md > out.html
Running tests
The test execution requires a specific version of PlantUML (the image generated can be different with different PlantUML versions).
To run the tests, execute the following command:
PATH="$PATH:$PWD/test" python -m unittest discover -v -s test
This command uses a custom version of the plantuml
command which will download the expected version of PlantUML for
tests execution without clobbering the system.
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 Distributions
Built Distributions
Hashes for plantuml_markdown-1.2.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df89ed1a578a9cd0f7906b987a4b645360c02f750dc9b43464dfb05e27d150fb |
|
MD5 | 8b1579c656284d5b769b6e817c4d61c3 |
|
BLAKE2b-256 | bb2f17f82e2891c8102b46365007cf427b1c6cb82e6888b1c721dffa7ab4c4d8 |
Hashes for plantuml_markdown-1.2.4-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceb8b466349d4672f4982643867f5ea6617b8db56620251f2e08d7e5224d4d4e |
|
MD5 | 6e6d6a4facba4a6465eec274e79bd49f |
|
BLAKE2b-256 | 5dad4adc7721edda47ccfea13e4eb3dd31b5b7de6fddd0aab92ee5e0ad08ee1a |