定义
Text-Based Graphical Description Language
📚 专业定义可以这样说:
文本式图形建模语言是指通过结构化的文字指令或语法,在纯文本环境中定义图形元素及其关系,随后由渲染引擎解析生成可视化图表。
举例
如下
- Mermaid
- PlantUML
- WaveDrom
- Graphviz (DOT)
- Ditaa
这些都属于 基于文本的图形建模语言 的范畴。
✅ 它们的共同特点是:
- 输入是文本(你手写代码)
- 输出是图形(自动生成流程图、时序图、波形图等)
- 优点:版本控制友好(比如Git管理)、易于修改、适合协作
- 用途:文档、设计说明、架构展示、验证流程、协议规范、数字电路设计…
语言分类
名字 | 特点 | 常见用途 |
---|---|---|
Mermaid | 简单直观,功能全面 | 流程图、时序图、类图、甘特图 |
PlantUML | 功能非常强大,语法自由,支持复杂图形 | 类图、时序图、组件图、部署图、活动图 |
Graphviz (DOT语言) | 专业的关系图绘制,布局强大 | 有向图、无向图、复杂网络关系 |
BlockDiag系列(如 seqdiag、blockdiag) | 简单易用,适合某一类特定图 | 流程图、时序图 |
Ditaa | 直接用 ASCII 画,再转换成图片 | 简单结构图(比如服务器架构) |
WaveDrom | 专门用来画数字电路的波形图 | 时序波形 |
markdown 对这些语言的支持情况
语言 | 支持情况 |
---|---|
Mermaid | 🌟广泛支持(GitHub、Typora、Obsidian等都支持) |
PlantUML | ❓部分支持(比如 GitLab 支持,需要配置;Typora、Obsidian 需要插件) |
Graphviz (DOT) | ❓部分支持(需要插件,或手动渲染图片) |
WaveDrom | ❓小范围支持(需要插件,或者手动转图片插入) |
Ditaa | ❌原生不支持(一般需要转成图片再插入) |