mustache.clj - Clojure 模板引擎


Apache
Windows

软件简介

mustache.clj
是一个mustache模板的Clojure实现。
在开发Rssminer时,因需要一个更快更轻巧的模板库,而开发。

特点:

  1. 零依赖,小巧。包含源代码的jar仅16K
  2. 速度快。在i5机器上,一个测试中,每秒可生成约300M的HTML
  3. 通过Macro,完成模板到函数的转化,使用简单

示例代码:

(deftemplate template (slurp "test/sample.tpl"))

(def data {:title "mustache.clj"
           :desc "Logic-less {{mustache}} templates for Clojure"
           :tags [{:tag "Clojure"}
                  {:tag "Mustache"}
                  {:tag "Performance"}]})

(println (template data))


<!-- 模板 test/sample.tpl -->
<h1>{{ title }}</h1>
<p class="desc">{{ desc }}</p>
<ul>
  {{#tags}}
    <li class="tag">{{ tag }}</li>{{/tags}}
  {{# hidden }}
    this will not show, if hidden is false or empty list
  {{/ hidden }}
</ul>





输出:


<h1>mustache.clj</h1>
<p class="desc">Logic-less {{mustache}} templates for Clojure</p>
<ul>
    <li class="tag">Clojure</li>
    <li class="tag">Mustache</li>
    <li class="tag">Performance</li>
</ul>