12 个版本 (4 个重大更新)
0.5.1 | 2024年1月8日 |
---|---|
0.5.0 | 2024年1月7日 |
0.4.0 | 2023年12月31日 |
0.3.0 | 2023年11月12日 |
0.1.4 | 2023年10月31日 |
#69 in 可视化
每月下载量 144
170KB
3.5K SLoC
plantuml-server-client-rs
PlantUML 服务器客户端。
本项目旨在创建一个工具,帮助在 CI/CD 环境中运行 PlantUML 图形生成。如果您使用 VS Code 插件在本地生成,它们在 CI/CD 环境中难以运行。
简要使用方法
请求 http://www.plantuml.com/plantuml/
。
cargo install plantuml-server-client-rs
{
echo '@startuml'
echo 'Bob -> Alice : hello'
echo '@enduml'
} | plantuml-server-client > out.svg
功能
$ plantuml-server-client --help
The client of PlantUML Server.
Usage: plantuml-server-client [OPTIONS]
Options:
-i, --input <INPUT> input file path. if not specified, use stdin
-o, --output <OUTPUT> output file prefix. if both of `--input` and `--output` are not specified, use stdout
-c, --config <CONFIG> config file path. if `--config` option is specified and the configuration file fails to load, this program will exit with an error for security reasons
-m, --method <METHOD> HTTP Method: `"get"` | `"post"`
-u, --url-prefix <URL_PREFIX> Server's URL Prefix. default: `"http://www.plantuml.com/plantuml/"`. example: `"https://127.0.0.1:8080/"`
-f, --format <FORMAT> output format: `"svg"` | `"png"` | `"txt"`
-C, --combined output pre-proccessed data has `.puml` extension
--metadata <METADATA> output path for metadata
-v, --verbose... increase log level: `-v` -> info, `-vv` -> debug. if the `PSCR_LOG` environment variable is specified, this `-v` option will ignore. related: [`init_logger`][`crate::init_logger`]
-h, --help Print help
-V, --version Print version
从文件配置
您可以通过配置文件省略 CLI 选项(.pscr.conf
)。
cp sample.pscr.conf .pscr.conf
vim .pscr.conf
优先级:[由 "--config" 选项指定]
-> .pscr.conf
-> /.config/.pscr.conf
-> ${HOME}/.pscr.conf
-> ${HOME}/.config/.pscr.conf
单个文件中的多个图形
如果单个指定文件中包含多个图形定义,则生成多个图形。
如果 a.puml
如下所示,
@startuml a1
title a1
a -> b
@enduml
@startuml a2
title a2
a -> b
a <- b
@enduml
您将执行以下命令。
plantuml-server-client --input a.puml --output outputs
最终,您将获得 outputs/a/a1.svg
和 outputs/a/a2.svg
。
无输出前缀
如果您执行以下命令(未指定 --output
),
plantuml-server-client --input a.puml
您将获得 a/a1.svg
和 a/a2.svg
。 ([源文件基本名]/[图表 ID].[扩展名]
)
!include
预处理
预处理完成后将生成图表。
如果 a.puml
在下面
@startuml a0
!include b.iuml!b2
!include b.iuml!1
!include b.iuml
@enduml
并且 b.iuml
在下面,
@startuml b0
Bob -> Bravo
@enduml
@startuml b1
Bob <- Bravo
@enduml
@startuml b2
Alice -> Alpha
@enduml
您将执行以下命令。
plantuml-server-client --input a.puml --output outputs
最后,您将得到由以下 PlantUML 源文本生成的 outputs/a/1.svg
。
@startuml a0
Alice -> Alpha
Bob <- Bravo
Bob -> Bravo
@enduml
!include_many
和 !include_once
也受支持,但 !include_once
的多次包含不受支持(只有警告)。
写入组合文件
使用 --combined
可选参数,plantuml-server-client
将以 .puml
扩展名输出 组合 图表。一个 组合 图表是经过预处理的图表。
写入元数据
使用 --metadata
可选参数,plantuml-server-client
将在生成过程中输出元数据。输出路径由 --metadata
可选参数指定。元数据为 JSON 格式,包含用于包含过程的收集信息、图表中的标题等信息。
待办事项列表
!includesub
预处理!$A=B
预处理(围绕include
)
依赖项
~14–30MB
~427K SLoC