日向夏特殊応援部隊

俺様向けメモ

Data::ClearSilver::HDFにcspageコマンドつけた

といってもまだCPANには反映されてないと思いますが、一応cspageってコマンドを付けてみました。0.02から使えます。
機能としては、

  • HDFファイルの生成
  • HDFファイル化する際の文字列ダンプ
  • HDFファイルとCSファイルからレンダリング
  • 指定した変数群からCSファイルをレンダリング

と言う機能を付けました。これで気軽にClearSilverが楽しめるはず。

分かる人はピンと来ただろうけどTTにあるtpageコマンドの廉価版みたいな感じです。(ぉぃ

HDFファイルの生成

$ cspage --define name=zigorou --define url=http://d.hatena.ne.jp/ --output-hdf=test.hdf
$ cat test.hdf
url = http://d.hatena.ne.jp/
name = zigorou

HDFファイル化する際の文字列ダンプ

--output-hdfオプションを付けない場合は、ダンプになります。

$ cspage --define name=zigorou --define url=http://d.hatena.ne.jp/ 
url = http://d.hatena.ne.jp/
name = zigorou

HDFファイルとCSファイルからレンダリング

$ cspage --input-hdf test.hdf test.cs 
ZIGOROu

  bar is true

指定した変数群からCSファイルをレンダリング

$ cspage --define foo=amachang --define bar=0 test.cs 
amachang

まとめ

ここまで作っといてなんだけど、実際にClearSilver使うかどうかはまだ決めてないです。
用途によりけりかなーと。

試しにってのは全然ありかなとは思ってますし、
何より色んな言語で使えるテンプレートってのはいいかなーと思ってたりします。

あと、可能な限りフレームワークとの結合を排す事が出来たら、
すなわち渡す変数に依存性を出来る限り設けないようにしたら、
異なる言語間でも同様のテンプレートファイルが使えるかもなとか思ってたりします。

これはやはり記法もシンプルで出来る事が限られていると言う所がこの場合はメリットにもなるんだと思います。