2012-06-24 18 views
-1

我有一些Markdown文件,其內容將被渲染並用作流程圖的節點。所有這些都必須使用FOSS以編程方式完成。生成支持節點中減價樣式的流程圖

生成的流程圖節點中的文本應該是可選擇的,因此將流程圖呈現爲圖像文件是不行的。渲染應該模仿標準的Markdown實踐也很重要。反引號之間的文本應該以固定寬度的字體呈現,等等。

我想過使用GraphViz的SVG或PDF輸出選項來渲染Markdown到HTML並處理結果以生成流程圖,因爲GraphViz支持節點中的HTML內容。但是,GraphViz僅支持節點中的HTML標記的very limited subset。例如,它不支持<code>元素,甚至不支持<p>元素,並且這兩個元素都可以在HTML呈現的Markdown輸出中找到。

我目前正在研究使用TikZ,其中包括將Markdown渲染爲LaTeX而不是HTML,並且應該能夠處理任何通過Markdown提供的標記。不幸的是,這將意味着擔心頁面格式和GraphViz所不需要的其他問題。

所以我的問題是:你將如何解決這個問題,爲什麼你會那樣做?

+0

[dot2tex](http://www.fauskes.net/code/dot2tex/)和[Ladot](http://brighten.bigw.org/projects/ladot/)看起來好像很有前景。 – sampablokuper

回答

0

如果這是在商業場景中,您可以嘗試使用yFiles系列產品之一來創建流程圖。這些是Java,Javascript,.net和Flash的圖表庫。有一個可用於Java變體的SVG擴展,可用於導入SVG節點內容並將該SVG呈現爲節點內容。 對於HTML5/Javascript變體,您可以直接使用SVG,但是當然這需要在瀏覽器中運行,並且這對於您的用例來說似乎不太適合。

你可以免費評估軟件,看看它是否適合你。

+0

謝謝,但我想你可能會誤解:我迄今爲止還沒有生成SVG節點,因爲GraphViz的「HTML-Like Labels」不允許有足夠豐富的標記。至於yFiles,許可證費用非常高,我更喜歡FOSS解決方案,所以我已經相應地更新了我的問題。 – sampablokuper