この投稿はmruby Advent Calendar 2013の9日目の記事です。

mruby-clearsilver について

Apache モジュールでアプリケーションを実装するためにいくつか調査していたときに、HTML のテンプレートエンジンはないかなーと思い、探していたところ ClearSilver にたどり着きました。 既に更新が止まっていますが、それなりに安定して使えるとは思います。

https://github.com/qtakamitsu/mruby-clearsilver.git https://github.com/qtakamitsu/mruby-clearsilver

機能はシンプルで、HDF というデータに埋め込むデータをセットして、CS でレンダリングするというもの。

hdf = ClearSilver::HDF.new
hdf.set_value "aaa", "000"
hdf.set_value "name", "Administrator"
hdf.dump

cs = ClearSilver::CS.new(hdf)
cs.parse_file('Welcom to ClearSilver, <?cs var:name ?>!')
r = cs.render()
puts r

作った経緯なんか

mruby を Apache 上で動かせたり、DB につなぐためのライブラリがあったり、キャッシュするための redis ライブラリがあったりと、これだけライブラリがそろっているなら mruby でアプリケーションが作れないかなと思い立ったのが経緯です。それに、別のことで HTML のテンプレートエンジンについて調査していたので。

作ってみた感想など

作ってみたものの、ClearSilver の更新がないことや古いことは、実用から考えると弱いと思います。 ただ、mruby ライブラリ作成の経験としてはシンプルで良かったのかなとは思いました。