D2Lang – 简单友好强大的文本转示意图片工具

4 min


制作示意图的工具有很多。

我喜欢使用基于文本代码的作图工具,来绘制线框图,比如 Mermaid、Plantuml、Graphviz。

D2Lang – 简单友好强大的文本转示意图片工具

它们都能根据代码,生成图片,非常适合放入代码仓库,进行版本管理。

最近,我发现了一个更易用的同类工具 D2,简单直观,功能强大,下面介绍给大家。

D2 可以命令行使用,也可以浏览器使用。假定你有一个图片代码文件example.d2,那么生成图片的命令如下。

$ d2 example.d2

大部分时候,我都通过浏览器使用它。它有一个线上生成器 play.d2lang.com(下图),把代码贴进去,按下”compile”按钮,马上生成图片。

想要 A 节点(节点的名称为 A),直接输入 A 就可以了。

A

A 只是节点名称,如果要定制节点的内容,就像下面这样写。

A: 甲

接着,添加一个节点。

A: 甲
B: 乙

把它们连起来。

A: 甲
B: 乙
A -> B

连接可以用正箭头(->)、也可以用反箭头(<-),甚至双向箭头(<->)。如果不需要箭头,就直接连线(--)。

箭头上还能添加文字。

A: 甲
B: 乙
A -> B: 连接

节点之间可以有多根连线。

A: 甲
B: 乙
A -> B: 请求
A <- B: 响应

节点的连接也可以写在一行。

甲 -> 丙 <- 乙: 连接

阶段一 -> 阶段二 -> 阶段三 -> 阶段四
阶段四 -> 阶段一: 反馈

这些语法就够画出基本的线框图了,是不是挺简单。

D2 可以绘制非常复杂的图,更多语法参考文档

最后提一下,如果想修改节点形状,方框改成圆形,就像下面这样写。

A: 甲
A.shape: circle

形状甚至可以改成一朵云,表示云服务。

A: 甲
A.shape: cloud

线条颜色也可以改。

A: 甲
A.style.stroke: red


Like it? Share with your friends!

0
Anonymous

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds