This plugin evaluates Mustache templates using the Clostache library. This library is in development and has been tested with Clojure 1.3.0 and Leiningen 2.0.0-preview10.
lein-mustache
is available as a plugin. So, add this to your ~/.lein/profiles.clj
:
{:user {:plugins [[lein-mustache "0.2"]]}}
Or you can include it in your project.clj
:
{:profiles {:dev {:plugins [[lein-mustache "0.2"]]}}}
To evaluate a Mustache template in file, template
, with Clojure data in file, data
, type this:
$ lein mustache template data
To evaluate Mustache templates listed in project.clj
with Clojure data in file data
, include a key :mustache
in project.clj
. The corresponding value is a sequence of maps, each containing a :template-path
and :destination-path
.
Then, invoke lein mustache
without the template argument,
$ lein mustache data
Destinations for evaluated templates may themselves be templates,
If resources/hello.mustache
in your Leiningen project contains the following:
Hello, {{name}}, welcome to {{system}}.
And resources/data.clj
contains:
{:name "Alex"
:system "Your Computer"}
Then running
lein mustache resources/hello.mustache resources/data.clj
Will output
Hello, Alex, welcome to Your Computer.
If project.clj
contains a :mustache
entry,
:mustache [{:template-path "resources/hello.mustache"
:destination-path "target/hello.txt"}]
Then running
lein mustache resources/data.clj
Will create the file target/hello.txt
with the same contents as above.