Clojure is powerful enough that its easy to write a "true" templating library along the lines you describe. I wrote a very simple templating tool (47 loc) that allowed clojure to be evaluated within PHP style tags -- I didn't use it because I felt it doesn't add anything other than familiarity i.e. it was a step backwards.<p>If you write your own html then compojure is, without question, the way to go. S-expressions require less typing than html and you can write functions or define snippets that build webpages up without the need to repeat yourself. Its an end to copy and paste. Also, stylesheets are your friend and can do most of the work of presentation.<p>If you work with designers who require full access to the HTML then Enlive is a good option -- as you said there is no template code in with the html! Surely this is a step forwards from custom comment fields or custom tags?