D2 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
D2 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
D2 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MPL-2.0
开发语言 Google Go
操作系统 未知
软件类型 开源软件
所属分类 编程语言
开源组织
地区 不详
投 递 者 罗奇奇
适用人群 未知
收录时间 2023-03-31

软件简介

D2 是一种将文本转换为图表的现代图表脚本语言。

它代表声明式图表,用户只需使用描述文本,它会自动生成图像。

这是它的 Hello World :

例如,下载 CLI,创建一个名为 input.d2 的文件,复制粘贴以下内容,运行此命令:

d2 --theme=300 --dark-theme=200 -l elk --pad 0 ./input.d2

您将获得下图:

快速开始

使用 D2 最方便的方法是将其作为 CLI 可执行文件运行以从.d2文件生成 SVG。

# First, install D2
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.

安装

最简单的安装方法是使用安装脚本:

curl -fsSL https://d2lang.com/install.sh | sh -s --

您可以运行安装脚本以--dry-run查看将用于安装的命令而不执行它们。

或者,如果您安装了 Go,您可以从源代码安装,但您不会获得联机帮助页:

go install oss.terrastruct.com/d2@latest

还可以从源代码安装一个包含联机帮助页的版本。请参阅./docs/INSTALL.md#source-release 

使用安装脚本卸载:

curl -fsSL https://d2lang.com/install.sh | sh -s -- --uninstall

有关详细的安装文档,请参阅./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,以及单用途布局类型(如序列图)。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1) 发布并加入讨论🔥
发表了资讯
2023/03/31 17:08

图表脚本语言 D2 已发布 0.3 版本

图表脚本语言 D2 已发布 0.3 版本。 D2 是一种将文本转换为图表的现代图表脚本语言。它代表声明式图表,用户只需使用描述文本,它会自动生成图表。 这是它的 Hello World : 大型改动 这个版本的 SVG 大小约为 D2 0.2 版本中的 5%。主要的原因是 D2 现在不再对整个字体进行编码,而是仅捆绑其中使用过的部分(例如,如果不使用字母“b”,则不会包含“b”的字体编码)。 D2 的内置机制可将多个板块组合成一个图表,0.3 版本发布...

0
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
1 评论
20 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部