2

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

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

谢谢,穆尔塔萨

4

3 回答 3

3

您是否尝试过在类路径中包含包含模板的文件夹。我相信 enlive 会查看您的类路径以找到您指定的模板。
如果资源/公共文件夹已经在您的类路径中,您的模板路径应该类似于

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

于 2012-09-12T10:10:50.817 回答
1

我将所有模板放在不在类路径上的文件中,并使用以下命令定义它们:

(defmacro deftemplate- [name source & rest]
  `(deftemplate ~name (java.io/File. (str "path-to-pages/" ~source)) ~@rest ) )
于 2013-04-01T15:33:59.177 回答
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))
于 2013-05-26T21:59:24.337 回答