HikiのFLVプレイヤープラグインを書く
前置き
つい最近、サーバにHikiを設置し、自分の個人的メモ帳として利用している。
ふと、flvファイルをHikiに貼り付けられたら良いなあと思いたつものの、以下のようなHTMLを貼り付けたいのだが、HikiにはHTMLを直接貼り付ける方法はなさげ。
<object type="application/x-shockwave-flash" width="450" height="300" wmode="transparent" data="flvplayer.swf?file=video/test.flv">
<param name="movie" value="flvplayer.swf?file=video/test.flv" />
<param name="wmode" value="transparent" />
</object>
調査
ちょっとHikiのプラグインを調べてみたところ、Flashプラグインなるものを発見。
んじゃこれを使えば良いのかと思ったけど、わざわざ"flvplayer.swf?vider/test.flv"とか指定するのもめんどくさいし、ソースを見たところそんな難しそうじゃなかったのでFLVプレイヤープラグインを書いてみることにした。
実装
てわけで、ほとんどそのままぱくって、FLVプレイヤープラグインを書く。
- 以下のコードを
$HIKI_HOME/plugin/flv.rb
として保存する。 - Flash Video Playerをダウンロードしてきて、
$HIKI_HOME/flvplayer.swf
として保存する。 - ページ中で
{{flv(url, width, height)}}
と記述する。
def flv( flv, width=425, height=350 )
<<EOF
<object type="application/x-shockwave-flash" width="#{width}" height="#{height}" wmode="transparent" data="flvplayer.swf?file=#{flv}">
<param name="movie" value="flvplayer.swf?file=#{flv}" />
<param name="wmode" value="transparent" />
</object>
EOF
end
TODO
- ページに添付したファイルをflvプレイヤーの引数として渡したい。
- クロスサイトスクリプティング脆弱性がある気がする!
ということで、添付したファイルも表示できるように実装してみました。