ClojureのEnliveというテンプレートエンジンはClojureのWeb開発界では有名だとおもいます。

そのEnliveのAPIが綺麗でCommon Lispでも同じようなテンプレートエンジンがあったらなぁ

とおもってました。

そこで調べてみるとcss-selectorsというcssセレクタを利用してノードの検索ができるライブラリがCLにもある事がわかり、これをつかえばEnlive的なテンプレートエンジンに発展させられるんじゃないかなとおもいました。

そこで、CaramelというCSSセレクターベースのテンプレートエンジンをつくりました。

特徴としては、

ファイルベースのテンプレートエンジンである

CSSセレクターでノードの選択ができる

といった感じですかね、基本的なAPIはEnliveを踏襲しています。

サンプルコードはリポジトリのほうに掲載しております。

実装にあたってはChatonでshiroさん及びg000001さんにはお世話になりました。ありがとうございます。