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 ${@}
On Windows can be used the following plantuml.bat
(many thanks to henn1001):
@echo off
set mypath=%~dp0
setlocal
set GRAPHVIZ_DOT=%mypath%\Graphviz\bin\dot.exe
java -jar %mypath%\plantuml.jar %*
Make sure the plantuml.bat
is on the path.
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
(recommended).
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.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8c3313afbf94c375ccaae752908f6cead1c42bbb57d55f552dc809ade7bb30a |
|
MD5 | 3c00f09fadd0fffedbf07d8080ea7882 |
|
BLAKE2b-256 | 73de68979a18dccc5dee9edc40e838882f524c50fb154eee67078c9c3f0c768b |
Hashes for plantuml_markdown-1.2.5-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3610bfcd77489cfba673c3835ed9d8aca3c0ac50bd00c2d76397e7f0bbdbda5e |
|
MD5 | 0be9f2d7f7bdda4d96276e617a621724 |
|
BLAKE2b-256 | 41c0509f5693d310cad2cc4a2f5defbb1007097e4f3bc23bf86f7ed5fe6ff658 |