如何使用Graphviz自动生成SVG文件?

问题描述 投票:2回答:2

我决定开始一个实质上是网站的项目。该网站将通过Github Pages发布。

我的网站将包含SVG文件。 SVG文件由Graphviz从DOT文件生成。这个想法是,要修改SVG中显示的信息,用户可以更改DOT文件的定义,然后Graphviz将重新生成SVG,并且在提供网页后将自动显示新的SVG图像。 >

但是,让我感到不舒服的是,要求编辑DOT文件的贡献者运行一个调用Graphviz的脚本,然后将更改提交给SVG

DOT文件。

[如果贡献者更改了DOT文件,但忘记运行Graphviz脚本,然后提交,则存储库将包含彼此不一致的DOT文件和SVG。

我无法跟踪DOT文件的版本,因为SVG乱码-DOT文件是人类可编辑的定义。我无法跟踪SVG,因为它还会如何保持最新状态并可供Github Pages消费?但是,在跟踪所有这两种情况的同时,我基本上是在以多余的方式跟踪更改,并为冲突引入了机会。有点像对您的C代码

编译后的.exe进行版本控制。这是愚蠢的。

确保在编辑DOT文件时,SVG与之保持同步的最佳方法是什么?我需要认真考虑一下我的策略吗?

我决定开始一个实质上是网站的项目。该网站将通过Github Pages发布。我的网站将包含一个SVG文件。 SVG文件由Graphviz从DOT -...

svg build-process graphviz github-pages
2个回答
0
投票

您可能会考虑设置一个Jenkins实例来执行此操作。创建一个由点文件中的更改触发的作业(使用git插件)。该作业将执行dot命令,然后提交新的svg文件。


0
投票

生成的文件不应通过提交

© www.soinside.com 2019 - 2024. All rights reserved.