redmineの wikiマクロで graphviz その4

2012/02/21

Categories: graphviz redmine

その3」を書いたのが3年以上前なのか。
redmineのwikiにgraphvizを使った画像を埋め込めるようにするマクロ。
https://github.com/tckz/redmine-wiki_graphviz_plugin

graphviz_meマクロは、このマクロが埋め込まれているwikiページ全体をdotとみなして画像描画する。
wiki編集中のプレビューの際に、wikiマクロに渡ってくるモデル(WIkiContent)が保存済のもののため、今現在編集している内容で描画できていなかった。(一旦保存する必要があった)
よくよく考えてみれば、wikiマクロが呼び出されたときのselfがviewを指しているのでリクエストのパラメータも取得できるのだった。
マクロの挙動がformの構造に依存するのはイヤだと思いつつも、保存しないでプレビューできたほうがマシか。

編集中テキストのプレビューの場合は画像をdataスキームでimg@srcに直接入れちゃうことにした。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg・・・TkSuQmCC">
古いブラウザだと表示できないけど。
画像部分の通信サイズが大きくなるけどレスポンス一回で画像もHTMLも返せると、取得した編集中テキストをまるごと受け取って画像を返すactionを新設しなくていい。


環境:
CentOS 6.2 x64
ruby-1.8.7-p352
mysql-server-5.1.61
graphviz-2.26.0
redmine-1.3.0
 

>> Home