Vnote: PlantUML使用问题

Created on 2 Jun 2018  ·  4Comments  ·  Source: vnotex/vnote

  • V1.17 x64 版 win10,设置如下:

    • 所有设置开始为软件默认,然后把Markdown菜单下的3个图表公式选上,再打开“原地预览”

    • 设置里将PlantUML从“关闭”改为“在线服务”,并勾上“Graphviz”(本机已经安装2.3.8版),

    • 新建一个笔记,仿照官方文档,写一个公式、一个puml,一个flow。

  • 第1个问题:

    • “原地预览”有问题:公式和flow有显示“原地预览”,但中间的puml没有;

    • 切换至阅读模式发现puml能显示,所以只有puml的原地预览模式有问题。

  • 第2个问题:

    • 官方截图里PlantUML设置成了“本地JAR”,plantuml.jar这个包我从官网下载了,但不知道应该放在哪里,以及“PlantUML JAR”这一项中的路径该如何填写。我尝试把这个包放进Vnote.exe同目录下,然后“PlantUML JAR”设置成“/plantuml.jar”,再把PlantUML设置成“本地JAR”,发现无效,puml无论在编辑还是阅读模式都显示不出来。所以,问题是:PlantUML要离线使用究竟要如何设置呢?路径该如何填写呢?

  • 第3个问题:

    • “Graphviz”默认是自动检测,但假如我要手动填写路径,路径格式有什么要求(windows下)?

    • 如果本机根本未安装“Graphviz”,或者自动检测没找到vnote会有什么提示?

Most helpful comment

是否考虑把这个配置使用说明放进VNote主页的文档里?

All 4 comments

VNote配置PlantUML和Graphviz

1. 什么是PlantUML和Graphviz

PlantUML 是一个通过简单的脚本来绘制UML图表的一个工具,比如说:

```puml
@startuml
Bob -> Alice : hello
@enduml
```

可以绘制出这样的漂亮图表:

image

Graphviz 是一个更为通用的图表绘制语言,PlantUML中的部分图表需要调用Graphviz来绘制。

下面我们以Windows为例介绍如何在VNote中使用这两个神器。

2. Graphviz

为了在VNote中使用Graphviz,你需要访问Graphviz的官网下载Graphviz并安装,安装完后,你需要找到dot.exe所在位置,如C:\Program Files(x86)\graphviz\dot.exe

打开VNote的设置对话框,启用Graphviz并填写上面的路径:

image

重新打开所以标签页,就可以在VNote中使用Graphviz了:

```dot
balabalabala
```

3. PlantUML

3.1. 在线PlantUML

使用在线PlantUML的好处是不用安装任何东西,但是有可能会泄露隐私,而且无法使用原地预览。

在设置对话框中选择在线服务并保留PlantUML服务器地址不变即可。

image

3.2. 本地PlantUML

首先,请按照上面的步骤安装Graphviz,并测试能成功使用。

访问PlantUML官网下载plantuml.jar,将其放到一个全英文的路径中,如C:\plantuml.jar

请安装Java运行时。

配置VNote如下:

image

请重新打开所以标签页,这时候应该就能正常使用PlantUML了。

3.3. 高级配置

如果上面的配置仍然无法使用PlantUML,而且确认本地命令行能正确执行PlantUML,则你可能需要改动VNote的配置文件vnote.ini

文件打开配置文件夹,使用记事本编辑vnote.ini

找到[web]这一行,在下面新建一行,输入:

plantuml_cmd=cmd.exe /c \"java -jar C:\\plantuml.jar -charset UTF-8 -nbthread 4 -pipe -t%0\"

重启VNote即可。

关于plantuml_cmd的具体含义,参考如下:

; Custom PlantUML command to execute to convert a PlantUML diagram in local PlantUML
; Read data definition from stdin and output diagram result to stdout
; When set, other local PlantUML related settings are ignored
; %0 will be replaced with the format string like svg or png
; plantuml_cmd=/bin/sh -c \"cat | java -jar /opt/plantuml/plantuml.jar -charset UTF-8 -nbthread 4 -pipe -t%0\"
plantuml_cmd=

4. Live Preview

在编辑窗口,右键打开图表实时预览,即可实时预览光标所在处的图表。

非常感谢如此快速和详细的说明。我参照上述说明进行了设置:

  1. 首先手动填写Graphviz路径: “D:\Program Files (x86)Graphviz2.38\bindot.exe”,然后在笔记里加上一段Graphviz脚本,发现原地预览、实时预览均显示正常——说明Graphviz设置正确。
  2. 原来本机只装了JDK,怀疑可能有问题,重新下载安装了JRE。
  3. plantuml.jar 放进D盘根目录下,然后用一个“test.txt”文件装一段脚本,在命令行里手动执行“java -jar D:\plantuml.jar D:\test.txt”,生成了test.png,且内容正确,这说明了JAVA环境和plantuml.jar包均正常。
  4. VNote里设置 PlantUML JAR路径为:D:plantuml.jar,重新打开VNote和笔记——puml图还是不出来:(
  5. 打开vnote.ini文件(全硬盘只有一个,在C:\Users\用户名\AppData\Roaming\vnote)在最下面加上“plantuml_cmd=cmd.exe /c \"java -jar D:\plantuml.jar -charset UTF-8 -nbthread 4 -pipe -t%0\"”——puml图还是不出来:(
我觉得离真相只差一步了:)

OK了,我弄明白怎么回事了,实际上在上面的第4步就已经正常了,并不需要在vnote.ini文件里加1行。
在我这里不正常的原因是,我改了VNote设置后直接点的右上角X,实际上根本没关闭。彻底退出后再打开就生效了

是否考虑把这个配置使用说明放进VNote主页的文档里?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ikelaiah picture ikelaiah  ·  3Comments

stakaz picture stakaz  ·  4Comments

client366932 picture client366932  ·  4Comments

iiinsomnia picture iiinsomnia  ·  3Comments

ANAT01 picture ANAT01  ·  4Comments