: O. Yuanying

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プレイヤープラグインを書く。

  1. 以下のコードを$HIKI_HOME/plugin/flv.rbとして保存する。
  2. Flash Video Playerをダウンロードしてきて、$HIKI_HOME/flvplayer.swfとして保存する。
  3. ページ中で{{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プレイヤーの引数として渡したい。
  • クロスサイトスクリプティング脆弱性がある気がする!

ということで、添付したファイルも表示できるように実装してみました。