用于降价的plantuml插件

plantuml-markdown的Python项目详细描述


Build Status

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
```

选项是可选的(否则不会是选项),但如果存在,则必须按顺序指定formatclassesalttitlewidthheight。 选项值可以用单引号或双引号括起来。

format参数的支持值为:

  • png:htmlimg带有嵌入png图像的标记
  • svg:htmlimg带有嵌入svg图像的标记(链接不可导航)
  • svg_object:htmlobject带有嵌入式svg图像的标记(链接可导航)
  • svg_inline:html5svg使用内联svg图像源标记(链接是可导航的,可以使用css规则操作)
  • txt:纯文本图表。

widthheight选项必须包含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-Markdownextensions文件夹中的文件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 Linuxhttp://gpo.zugaina.org/dev-util/plantuml/RDep有一个ebuild:您可以下载 ebuild和files子文件夹,或者您可以使用layman添加zugaina存储库。 (推荐)。

使用plantuml服务器

从版本2.0aPlantUML 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的预期版本 在不破坏系统的情况下执行测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
文件名的java正则表达式限制名称大小和文件扩展名   Mac上的java Android SDK:jspawnhelper意外退出   java SQL Server 2000到Oracle 12c重音字符   在Java中快速比较大数据集中的值和小数据集中的值   java在代码中的许多地方保留对对象的引用   Java规范中私有内部类的jvm访问标志与反射API不一致?   比较2个int数组中匹配的数字   java Apache Commons数学简化回归:get prediction stderr   安卓 Java SDK管理器因命令行输出中的“flashplayerplugin”而崩溃   JavaSQLite:关闭DB时必须关闭游标吗?   泛型Java设计抽象类声明示例说明   java应用程序在添加片段时崩溃   如何在java中使用注释为字段加载值