-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
templates.clj
40 lines (33 loc) · 988 Bytes
/
templates.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
(ns tadam.templates
(:require
[environ.core :refer [env]]
[tadam.responses :refer [response]]
[clojure.java.io :refer [resource]]
[selmer.parser :as s]
[markdown.core :refer [md-to-html-string]]
[cheshire.core :refer [generate-string]]))
;; Disabled cache in debug
(if (:debug env)
(s/cache-off!) ())
;; Path templates
(s/set-resource-path! (resource "templates"))
(defn raw-HTML
"Render raw HTML"
[req text params]
(response req (s/render text params)))
(defn render-HTML
"Render to HTML"
([req template params]
(response req (s/render-file template params))))
(defn render-404
"Render 404 HTML"
([req template params]
(response req (s/render-file template params) 404)))
(defn render-markdown
"Render markdown to HTML"
[req template params]
(response req (md-to-html-string (s/render (slurp template) params))))
(defn render-JSON
"Render JSON"
[req hash-map]
(response req (generate-string hash-map) 200 "application/json"))