Expressive template system for Clojure.
Motivation: Of the Clojure templating libraries we identified, none seemed to assist in porting a non-trivial amount of ERB-templated content to a Clojure-based static site generation tool. We find the ability to in-line arbitrary Clojure code is intoxicatingly pragmatic (also expressed as: Enough rope to hang oneself). Seeking to wield such expressive power in a general-purpose templating system, we wrote Ash Ra Template, or ART.
Works with Clojure 1.9 and newer.
ART library, including detailed information about using the ART library and ART template syntax, rendering API and options, and processing.
Boot task for rendering ART templates.
Leiningen plugin for rendering ART templates.
Include this library from Clojars by adding the latest version of vivid/ash-ra-template
to your project dependencies, such as in a Leiningen project.clj
:
:dependencies [[vivid/ash-ra-template "0.4.0"]]
Render a template string:
(require [vivid.art :as art])
(art/render "There were <%= (+ 1 2) %> swallows, dancing in the sky.")
Or, to render from a file:
(art/render (slurp "prelude.html.art"))
Pull Requests are welcome! We work with people offering PRs to revise and iterate leading to solutions in accord with project goals and release criteria. Commits must include Signed-off-by indicating acceptance of the Developer's Certificate of Origin. Unproductive behavior such as unkindness towards others and derailment is not tolerated.
:delimiters
. Provide examples for Mustache, PHP, and others.~:bindings
(definitions) that are made available for symbol resolution during render.~:dependencies
.~yield
).© Copyright Vivid Inc. EPL licensed.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close