news 2026/9/12 7:58:46

API Server

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
API Server

API Server

【免费下载链接】d2D2 is a modern diagram scripting language that turns text to diagrams.项目地址: https://gitcode.com/GitHub_Trending/d2/d2

- port 8080 - rate limit 100/s ```

}

formula: { label: |latex y = \alpha x + \beta}

snippet: { label: |code if err != nil { panic(err) }}

其渲染链路位于 [d2renderers/d2scenebuild/markdown.go](https://link.gitcode.com/i/ff74fa4b1d0ede1d9521c7b29cd3c058)、[d2renderers/d2scenebuild/latex.go](https://link.gitcode.com/i/d12605d37fc7ed714ef2bf8a56628e4d) 与 [d2renderers/d2scenebuild/code_shape.go](https://link.gitcode.com/i/56eee87a0bf44d722894dcb92e52ebfc),与独立形状共享同一套文本测量与排版管线。 ### 4.2 `shape: c4-person` 新增的 `shape: c4-person` 用于渲染 C4 模型规范中的人物形状(actor/person),与已有的 `shape: c4_component`、`shape: c4_container` 等构成完整的 C4 建模家族。实现位于 [lib/shape/shape_c4_person.go](https://link.gitcode.com/i/b90f1f46e64fb70adf973ab890db104d): ```d2 user: { shape: c4-person label: End User }

4.3 图标与连接标签改进

  • 连接线可以包含图标a -> b: { icon: https://... }现在对边同样生效(此前图标仅限对象);
  • 图标支持border-radius:对含图标的形状设置border-radius可以正常裁剪圆角,不再失效;
  • 连接标签水平内边距:渲染端为连接线标签增加了水平 padding,避免文字贴边,相关实现可参见 d2renderers/d2scenebuild/labels.go。

4.4 图例(Diagram Legends)

v0.7.0 实现了图例功能,核心代码在 d2renderers/d2scenebuild/legend.go。图例允许你在图中显式声明一组"标签 → 含义"的说明条目,常用于颜色编码(如"绿色 = 正常,红色 = 故障")或形状语义说明。结合本节能力,图例配合 c4-person、markdown 标签等新特性,可以产出更接近正式架构文档的图表。


五、CLI 改进:validate命令、--omit-version与 watch 模式

5.1 新增validate命令

d2 validate只校验 D2 文本的语法与语义,不生成任何输出文件,适合在 CI 或编辑器保存钩子中做快速检查。命令分发逻辑位于 d2cli/main.go:

d2 validate input.d2 # 校验通过则静默退出(exit 0),失败则打印错误并返回非零码

配合--watch还可以对文件做持续校验。底层复用的是与d2编译相同的解析器(d2parser)与 IR 编译器(d2ir),因此校验结果与最终渲染前诊断一致。

5.2--omit-version标志

默认情况下,D2 生成的 SVG/PNG 会嵌入 D2 版本信息(便于溯源)。新增的--omit-version让输出文件不再包含版本号,适合对产物做字节级快照对比或对版本号敏感的发布流程:

d2 --omit-version input.d2 output.svg

标志定义在 d2cli/main.go(描述为 "omit D2 version from generated image")。

5.3 watch 模式忽略编辑器备份文件

d2 --watch现在会忽略形如foo.d2~的通用备份文件,以及 Helix、IntelliJ 等编辑器生成的临时备份,避免编辑器自动保存备份时触发无意义的重复渲染。备份文件识别逻辑位于 d2cli/watch.go,覆盖了~后缀、Helix 备份、IntelliJ 新旧备份等多种模式。

5.4 插件名大小写不敏感

指定布局插件时大小写不再敏感,d2 --layout ELKd2 --layout elkd2 --layout ElK均可正常工作,减少命令行输入的踩坑概率。


六、编译器与解析器改进

6.1link支持根路径

对象的链接目标现在可以设置为根路径,例如:

homepage: { link: /xyz }

【免费下载链接】d2D2 is a modern diagram scripting language that turns text to diagrams.项目地址: https://gitcode.com/GitHub_Trending/d2/d2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 7:57:47

一致凸空间:定义、性质及其在偏微分方程中的应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 7:57:11

Robocode实战:Java并发与事件驱动编程沙盒

简介:本资源是基于Java开发的坦克机器人战斗仿真引擎Robocode开源项目源码包,面向编程初学者、高校计算机教学实践者及算法策略爱好者,用于学习面向对象编程、事件驱动机制与AI对抗逻辑设计。压缩包为ZIP格式,大小2.75MB&#xff…

作者头像 李华
网站建设 2026/9/12 7:56:54

WeChatMsg 使用教程:把微信聊天记录导出成 Word 的 3 个步骤

WeChatMsg 使用教程:把微信聊天记录导出成 Word 的 3 个步骤 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

作者头像 李华
网站建设 2026/9/12 7:56:51

Qt调用Excel COM接口的轻量级封装实践

简介:本资源是一个面向Qt开发者的数据交互工具包,聚焦于在Windows平台下通过COM接口调用Microsoft Office Excel实现高效读写操作,适用于需在桌面应用中集成Excel数据处理功能的中初级C/Qt工程师。压缩包共2个文件(1个头文件Excel…

作者头像 李华