2014-03-25 34 views
1

我決定開始一個基本上是一個網站的項目。本網站將通過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都會與其保持同步嗎?我是否需要認真反思我的策略?

回答

0

您可能會考慮設置一個Jenkins實例來執行此操作。創建一個由點文件中的更改觸發的作業(使用git插件)。該作業將執行點命令,然後提交新的svg文件。