通过在 Markdown 中引用嵌入图表(例如,draw.io 原理图作为 xml 文件)

a_b*_*bet 10 xml diagram markdown

在我的工作流程中,我同时使用 git(私人服务器上的 GitLab)和draw.io(或diagrams.net,因为它已重命名)。
我想知道开始对图和代码进行版本控制并将它们嵌入到 Markdown 文档中的最佳方法是什么。

我发现可以通过将单个图表导出到未压缩的 xml 来对其进行版本控制。现在,理想情况下我想要的是这样的流程:

  • 在本机应用程序上编辑图表
  • 通过导出为 xml 的版本图
  • .md通过引用嵌入文档

换句话说,我希望没有该图的 jpeg/png 版本,但仍然以 Markdown 形式呈现它。这可能吗?

我找到了这个支持页面Embed a diagram in GitHub markdown,但这似乎不是我要找的:

  • 打开嵌入式编辑器
  • 我认为它不适用于私人 gitlab 服务器?

任何建议(甚至涉及不同的工具)将不胜感激。

ben*_*756 5

我在独立于互联网的自托管场景中将 Draw.io 图表与 GitLab / markdown 结合使用。我使用 Ubuntu snap 应用程序和 docker 镜像。

如果您将 Draw.io 图表保存为“可编辑 SVG”(我喜欢使用扩展名.drawio.svg来使其显而易见),那么它会在 SVG 文件中保存任何所需的元数据。

这意味着图像大小很小,并且 CI 管道仍然可以在需要时将文件转换为 PNG。并且SVG可以直接包含在markdown中,无需每次都导出。

GitLab 还可以让您“发现”合并请求图像之间的差异。

工作流程:

git checkout -> 在draw.io 网站或应用程序中打开 *.drawio.svg 文件 -> 进行更改 -> 保存 -> 合并请求。