読者です 読者をやめる 読者になる 読者になる

Let's write β

趣味で書いたこととか、RustとLispが好き

CL向けのCSSセレクターベースのテンプレートエンジン Caramelを作った(作っている)

Lisp

ClojureのEnliveというテンプレートエンジンはClojureのWeb開発界では有名だとおもいます。
そのEnliveのAPIが綺麗でCommon Lispでも同じようなテンプレートエンジンがあったらなぁ
とおもってました。
そこで調べてみるとcss-selectorsというcssセレクタを利用してノードの検索ができるライブラリがCLにもある事がわかり、これをつかえばEnlive的なテンプレートエンジンに発展させられるんじゃないかなとおもいました。

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

特徴としては、

  • ファイルベースのテンプレートエンジンである
  • CSSセレクターでノードの選択ができる

といった感じですかね、基本的なAPIはEnliveを踏襲しています。
サンプルコードはリポジトリのほうに掲載しております。

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

僕が働いているAzit.incでは一緒に働けるエンジニアを募集しています!
採用情報 — 株式会社アジット|Azit Inc.