Redmine で Wiki 内に画像っぽいリンクが含まれていたら画像に展開する
世間ではアドベントカレンダーが大流行の昨今ですがちまちまRedmineネタとかなんですけど皆様いかがおすごしでしょうか。
なんでこれてブログ書こうと思ったのかわからないほどの小ネタだけど、こういうネタを適当にブログに書いていくということは大切だと思いました。
最近適当にTwitterとかでつぶやいて満足してしまっていますね。
Redmine の Wiki に画像っぽいリンク
Wiki、というか、チケットの説明文本文とかなんですけど。
チケットに画像の添付とかって、もはや面倒じゃないですか。
スクリーンショットとって、それをローカルに保存して、チケット作成画面から、アップロードとか...
そんなものは最近でいうと、Gyazoとか、社内用Gyazo とかで URL で投げ合っているので、ぱっと撮ってぱっと張る、が一番楽だとおもうのです。
というわけで、 ****.png とかがチケットの説明文にあったら、img タグにしてほしいなーとおもいました。
theme の JavaScript を読みこませる
このへんのことよしなにやってくれるプラグインがあると良いのかもしれないけど、いやプラグインとか面倒だしそんなもの JavaScript でいいよねってことで、theme の JS に仕込んでしまうことにします。
久々に Prototype.js 使いました。相変わらず Prototype 拡張しまくってますね!
theme 用の JavaScript は、バージョン 1.?? から、 theme のディレクトリの javascripts/theme.js に置けば読み込んでくれるようになったらしいので、そのファイルを作ります。
で、その中に↓みたいなかんじのことを書いておきます。自分で適当に枠とか CSS をあてたかったので、class も指定しておきました。
document.observe("dom:loaded", function(){ $$('#main div.wiki a').each(function(name, index){ var link = name.readAttribute('href'); if (link.match(/\.(gif|jpg|jpeg|png)$/i)) { var imgElm = new Element('img', {src: link, 'class': 'wiki-image'}); name.insert({ after: imgElm }); } }); });