在enlive中使用src文件夹外部的模板

时间:2012-09-12 08:48:44

标签: clojure enlive

是否可以在enlive中从源文件夹外部提供模板?

我想从我的resources / public / templates文件夹而不是src / templates文件夹中获取模板,我该怎么做?

谢谢, 穆尔塔扎

3 个答案:

答案 0 :(得分:3)

您是否尝试在类路径中包含包含模板的文件夹。我相信enlive会查看你的类路径以找到你指定的模板。
如果resources / public文件夹已在您的类路径中,则模板路径应类似于

    (deftemplate template-name“templates / path / to / template”[]      .....)

答案 1 :(得分:1)

我将所有模板放在不在类路径上的文件中,并使用:

定义它们
(defmacro deftemplate- [name source & rest]
  `(deftemplate ~name (java.io/File. (str "path-to-pages/" ~source)) ~@rest ) )

答案 2 :(得分:1)

是的,是否可以从源文件夹外部提供模板。在我的情况下,它的工作没有任何改变我的配置;我的./resources中的模板和./resources/public中的静态资源。

注意:我在project.clj

中使用了以下内容
:min-lein-version "2.0.0"
:plugins [[lein-ring "0.8.3"]]
:dependencies [[org.clojure/clojure "1.5.1"]
               [compojure "1.1.5"]
               [enlive/enlive "1.1.1"]]

我这样称./resources/index.html

(h/deftemplate index-template "index.html"
  [s]
  [:title] (h/content s))