JavaScript で Blosxom, Rhino
http://svn.coderepos.org/share/lang/javascript/blosxom.rhino/
Java との連動が結構たのしい。Java に足りない部分とかめんどうくさい部分と、JS にないシステムの部分とかをうまくくみあわせられてたのしい。
Java がよくわかんなくて文字化けしていたんだけど、結局 js.jar を叩くときの java コマンドに -Dfile.encoding=UTF-8 いれてうまくいった。ただこれって、プログラム側から設定しても反映されない? っぽくてよくわからない……
本体は完全に Rhino に依存してるけど、テンプレートエンジンは依存せずに書いてある
- http://svn.coderepos.org/share/lang/javascript/blosxom.rhino/ejs.js
- http://svn.coderepos.org/share/lang/javascript/blosxom.rhino/template.html
JS のテンプレートエンジンなんて腐るほどあるけど、自分で書いてみるのはやっぱ面白い。今回は new Function("stash", templatecode") みたいにして、ハッシュをわたすとテンプレートをプロセスする関数を動的に生成してみてる (toSource すればコンパイルされた結果をキャッシュできる)。new Function による eval はなんかなんともいえない楽しさがあるなぁと思った。
JS 1.6 相当の関数 (filter とか) ってほぼ必須だよなぁと思った……ないと書けない。