D2 是一种将文本转换为图表的现代图表脚本语言。
它代表声明式图表,用户只需使用描述文本,它会自动生成图像。
这是它的 Hello World :
例如,下载 CLI,创建一个名为 input.d2
的文件,复制粘贴以下内容,运行此命令:
d2 --theme=300 --dark-theme=200 -l elk --pad 0 ./input.d2
您将获得下图:
快速开始
使用 D2 最方便的方法是将其作为 CLI 可执行文件运行以从.d2
文件生成 SVG。
curl -fsSL https://d2lang.com/install.sh | sh -s —
echo ‘x -> y -> z‘ > in.d2
d2 –watch in.d2 out.svg
浏览器窗口将打开,out.svg
并实时重新加载对in.d2
.
安装
最简单的安装方法是使用安装脚本:
您可以运行安装脚本以--dry-run
查看将用于安装的命令而不执行它们。
或者,如果您安装了 Go,您可以从源代码安装,但您不会获得联机帮助页:
还可以从源代码安装一个包含联机帮助页的版本。请参阅./docs/INSTALL.md#source-release 。
使用安装脚本卸载:
有关详细的安装文档,请参阅./docs/INSTALL.md ,演示了每个操作系统的替代方法和示例。
此外,还详细描述了安装脚本的功能,以消除对其使用的任何担忧。
建议直接使用操作系统的包管理器来提高安全性,但安装脚本绝不是不安全的。
D2 作为图书馆
除了作为可运行的 CLI 工具之外,D2 还可以用于从 Go 程序生成图表。
有关示例,请参阅./docs/examples/lib 。这篇博文还演示了一个完整的、可运行的示例,该示例使用 D2 作为真实世界用例的库。
主题
D2 包括各种官方主题,开箱即用,可以精美地设计图表。请参阅./d2themes以浏览可用的主题并制作或贡献您自己的创作。
字体
D2 附带“Source Sans Pro”作为渲染中的字体。如果您想使用不同的字体,请参阅./d2renderers/d2fonts 。
导出文件类型
D2 目前支持 SVG、PNG 和 PDF 导出。更多即将推出。
语言工具
D2 在设计时就考虑到了语言工具。D2 的解析器可以解析来自损坏程序的多个错误,具有自动格式化程序、语法高亮显示,且有 LSP 等方面的计划。
VSCode 和 Vim 的扩展可以在相关部分找到。
插件
D2 被设计为可扩展和可组合的。插件系统允许更改布局引擎并自定义渲染管道。
插件可以与构建捆绑在一起,也可以作为独立的二进制文件单独安装。
布局引擎:
- dagre (默认,捆绑):一种快速的有向图布局引擎,可生成分层/分层布局。基于Graphviz的DOT算法。
- ELK (捆绑):一种有向图布局引擎,特别适用于具有固有方向和端口的节点链接图。
- TALA (二进制):专为软件架构图设计的新型布局引擎。需要单独安装,请访问 Github 页面了解更多信息。
D2 旨在与各种布局引擎集成,例如dot
,以及单用途布局类型(如序列图)。