Templating is perhaps not the most interesting topic in software engineering, but nevertheless a useful technique in practice. Whether you are generating HTML for a web application or creating a PDF from the latest TPS1 report, some kind of templating might just make your life better.

enlive is a clojure templating library created by Christophe Grand. It is not a general purpose templating solution, rather it is specifically targeted at generating HTML2. While this may sound very limiting, it is simply a tradeoff that also enables other things, giving enlive some of its power.

We’ve given enlive a go in one of our internal clojure applications at work for a couple of months and I think it has been an interesting experience.

Besides being a very usable templating library for clojure applications, I think enlive provides a model that is quite interesting in itself, worth exploring simply for educational purposes.

With this series of posts, I hope to collect and share some of my thoughts and creations around enlive and its usage.

lack of namespace support.

  1. http://www.youtube.com/watch?v=Fy3rjQGc6lA

  2. XML is doable too, although it is somewhat limited due to the