http://search.cpan.org/~askadna/Template-Like/
1年半も放置していましたが、使ってくれている人が居ることを知り更新しました
数値に対し、3桁ごとにカンマを振るフィルター及びVMethodを追加しました
VMethodはやり過ぎましたかね
この商品は [% calc | comma %] 円です。 この商品も [% calc.comma %] 円です。
出力結果
この商品は 12,345 円です。 この商品も 12,345 円です。
そういえば plugin が無かった、Dumper無しで今までどうしていたんだろうか?
Template::Like::Plugin::Dumper
を追加、同時に既存ソースにも修正を入れる。
[% USE Dumper(indent=4,varname='FOO') %]
の様な記法に対応する、個人的に ident=>4,varname='FOO' と書きたい所だが、
Template-Toolkitが = なのだからそれに倣う事にした。
特に理由が無い限りTTの仕様に合わせる。
USE後にセミコロンを付けられるにするべきだと David さんから指摘を受けていた事に気づく
しかも去年の11月からだった、なぜ気が付かなかったのか。
しかもパッチやテストまで提供してくれた。
Davidさんありがとう、そしてごめんなさい。
[% USE Dumper(indent=4,varname='FOO'); Dumper.dump(var) %]
の様な記法に対応する、
v0.09にはバグがあり、訂正版v0.10をすぐに公開した。
USE時だけセミコロンが有効な作りから、
すべてのディレクティブで使えるに刷新、
処理効率やソースの保守性を意識しながら丁寧に修正を施した。
[% Filter append(hoge.foo);bar %]bazbam[% END;hoge.foo %]
の様な書き方ができる
確かに記述は短くなるが、自分ではセミコロンを使って複数の式を1つの[% %]に書かない為、
今後予期しないバグが出ない様に入念にテストが必要だと感じた。
その他、基本的な構文解析処理も改善、下記の様な長い記述を処理できるようにした。
[% hoge.foo.set(bar.baz).get + bar.baz | add(bar.baz) | add(hoge.foo.set(bar.baz).get);bar.baz %]
数年の開発を経てCPAN公開に至る。
特にアナウンスもせず静かに送り出したが、
意外にはてなブックマーク等に登録してくれるユーザーが居て、
これは安定版を作らなければと決意を新たにする。
PODを書き足す
SYNOPSISのソースコードが期待した動きをしないことが判明する、
POST_CHOMPによる改行取り外し処理に問題があった。
PRE_CHOMP / POST_CHOMP の (-=~+) に対応する
[%- var -%]
[%= var =%]
[%~ var ~%]
[%+ var +%]
これが2007年最後の更新となる、すっかりなまけている間に年が明ける。
それから 約4ヶ月後 ... (v0.06公開に続く)
Template-Toolkitを初めて使ったときの感動は今でも新しい。
だから敢えてTemplate::LiteではなくTemplate::Likeにした。