2

enliveでソースフォルダの外部からテンプレートを提供することは可能ですか?

src/templatesフォルダーではなくresources/public / templatesフォルダーからテンプレートを取得したいのですが、どうすればよいですか?

ありがとう、ムルタザ

4

3 に答える 3

3

テンプレートを含むフォルダーをクラスパスに含めてみましたか。enliveはクラスパスを調べて、指定したテンプレートを見つけると思います。
resources / publicフォルダーがすでにクラスパスにある場合、テンプレートパスは次のようになります

(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 に答える