読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

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
            });
        }
    });
});

中身がないので以上

すごく小さなことですが、これだけで相当便利になりました!めでたし