我決定開始一個基本上是一個網站的項目。本網站將通過Github Pages發佈。如何使用Graphviz自動生成SVG文件?
我的網站將包含一個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都會與其保持同步嗎?我是否需要認真反思我的策略?