@mdit/plugin-plantuml
支持 plant uml 的插件,基于 @mdit/plugin-uml。
使用
import { plantuml } from "@mdit/plugin-plantuml";
import MarkdownIt from "markdown-it";
const mdIt = new MarkdownIt().use(plantuml);
mdIt.render(`\
@startuml
Bob -> Alice : hello
@enduml
`);选项
type
"uml" | "fence"默认值
"uml"Plantuml 解析类型。
name
string默认值
"uml"图表类型。仅在使用默认地址获取器时可用。
fence
string代码块名称。默认为 name 的值。
open
string开始标记。仅当类型为 "uml" 时可用。默认为 "start" + name。
close
string结束标记。仅当类型为 "uml" 时可用。默认为 "end" + name。
server
string默认值
"https://www.plantuml.com/plantuml"Plantuml 服务器。仅在使用默认地址获取器时可用。
外部请求
使用默认 srcGetter 时,图表源码会被发送到配置的 PlantUML 服务器(默认为 https://www.plantuml.com/plantuml),这是一次可能泄露图表内容的外部请求。如果图表源码敏感,请自建服务器或提供自定义 renderer。
format
string默认值
"svg"图片格式。仅在使用默认地址获取器时可用。
srcGetter
(content: string) => string图片地址获取器。接收图表内容并返回图片链接。
renderer
RendererRule/**
* @param tokens - List of tokens.
* @param index - Current token index.
* @param options - Markdown-it options.
* @param env - Markdown-it environment.
* @param self - Markdown-it renderer instance.
*
* @returns Rendered HTML string.
*/
type RendererRule = (
tokens: Token[],
index: number,
options: Required<MarkdownItOptions>,
env: Env | undefined,
self: Renderer,
) => string;图表渲染器。
示例
示例
@startuml
Bob -> Alice : hello
@enduml非 ASCII 示例
@startuml
Bob -> Alice : 你好
@enduml