用于降价的plantuml插件
plantuml-markdown的Python项目详细描述
PlantUML扩展名为Python-Markdown
此插件实现了一个块扩展,可用于指定PlantUML关系图,该关系图将 转换为图像并插入到文档中。
语法:
::uml:: [format="png|svg|txt"] [classes="class1 class2 ..."] [alt="text for alt"] [title="Text for title"] ]width="300px"] [height="300px"] PlantUML script diagram ::end-uml::
示例:
::uml:: format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram" width="300px" height="300px" Goofy -> MickeyMouse: calls Goofy <-- MickeyMouse: responds ::end-uml::
还可以识别gitlab/github块语法。示例:
```plantuml format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram" width="300px" height="300px"
Goofy -> MickeyMouse: calls
Goofy <-- MickeyMouse: responds
```
选项是可选的(否则不会是选项),但如果存在,则必须按顺序指定format
、classes
、alt
、title
、width
、height
。
选项值可以用单引号或双引号括起来。
format
参数的支持值为:
png
:htmlimg
带有嵌入png图像的标记svg
:htmlimg
带有嵌入svg图像的标记(链接不可导航)svg_object
:htmlobject
带有嵌入式svg图像的标记(链接可导航)svg_inline
:html5svg
使用内联svg图像源标记(链接是可导航的,可以使用css规则操作)txt
:纯文本图表。
width
和height
选项必须包含CSS unit。
安装
要将插件与Python-Markdown一起使用,您可以选择:
使用
pip
,做一个简单的pip install plantuml-markdown
,插件应该可以使用了在windows上,您可以使用Chocolatey,windows的包管理器:do a
choco install plantuml
您已经准备好工作了(这个命令将安装所有依赖项,java和graphviz 包括在内,请参见https://chocolatey.org/packages/plantuml了解详细信息)复制Python-Markdown的
extensions
文件夹中的文件plantuml-markdown.py
。例如,对于Python2.7 必须这样做:$ sudo cp plantuml-markdown.py /usr/lib/python27/site-packages/markdown/extensions/
把文件拷贝到你家的某个地方。一个好的选择可能是
user-site
路径,例如(bash
语法):$exportINSTALLPATH="`python -m site --user-site`/plantuml-markdown"$ mkdir -p "$INSTALLPATH"$ cp plantuml-markdown.py "$INSTALLPATH/mdx_plantuml-markdown.py"$exportPYTHONPATH="$INSTALLPATH"
在运行
markdown_py
之前,必须导出PYTHONPATH
,或者可以将定义放入~/.bashrc
。
安装后,可以通过在markdown_py
命令中激活该插件来使用它。例如:
markdown_py -x plantuml_markdown mydoc.md > out.html
但在使用它之前,您需要配置要使用的PlantUML二进制文件:本地二进制文件或远程服务器。
使用本地plantuml二进制文件
您需要安装PlantUML(有关详细信息,请参阅网站)和Graphviz2.26.3或更高版本。
插件需要类路径中有一个程序plantuml
。如果您的软件包未安装
管理器,您可以创建一个shell脚本并将其放置在类路径中的某个位置。例如,
将下面的te保存到/usr/local/bin/plantuml
(假设PlantUML安装到
/opt/plantuml
):
#!/bin/bash
java -jar /opt/plantuml/plantuml.jar ${@}
在windows上可以使用以下plantuml.bat
(这要感谢henn1001):
@echo off
set mypath=%~dp0
setlocal
set GRAPHVIZ_DOT=%mypath%\Graphviz\bin\dot.exe
java -jar %mypath%\plantuml.jar %*
确保plantuml.bat
在路径上。
对于Gentoo Linux在http://gpo.zugaina.org/dev-util/plantuml/RDep有一个ebuild:您可以下载
ebuild和files
子文件夹,或者您可以使用layman添加zugaina
存储库。
(推荐)。
使用plantuml服务器
从版本2.0
aPlantUML server可以用于呈现图表。这加速了
很多图表呈现,但需要将图表源发送到服务器。
您可以下载war并在servlet中部署 容器,或者您可以将其作为docker container运行。
在这两种情况下,您都需要在如下配置文件中指定服务器的url:
plantuml_markdown:server:http://www.plantuml.com/plantuml# PlantUML server, for remote rendering# other global optionscachedir:/tmp# set a non-empty value to enable cachingformat:png# default diagram image formatclasses:class1,class2# default diagram classestitle:UML diagram# default title (tooltip) for diagram imagesalt:UML diagram image# default `alt` attribute for diagram images
然后需要在命令行中指定配置文件:
markdown_py -x plantuml_markdown -c myconfig.yml mydoc.md > out.html
运行测试
测试执行需要特定版本的PlantUML(生成的图像可以不同于 PlantUML版本)。
要运行测试,请执行以下命令:
PATH="$PATH:$PWD/test" python -m unittest discover -v -s test
此命令使用plantuml
命令的自定义版本,该命令将下载PlantUML的预期版本
在不破坏系统的情况下执行测试。