-
-
Notifications
You must be signed in to change notification settings - Fork 1
Views
Andros Fenollosa edited this page Sep 11, 2019
·
3 revisions
(ns my-namespace
(:require
[tadam.templates :refer [raw-HTML]]
))
(defn index-with-raw-html
;; View only text
[req]
(raw-HTML "<html><body><h1>Welcome to Tadam</h1></body></html>" {}))
(ns my-namespace
(:require
[tadam.templates :refer [raw-HTML]]
))
(defn index-with-raw-html-and-params
;; View HTML
[req]
(raw-HTML "<html><body><h1>I love the {{ name }}</h1></body></html>" {:name "functional programming"}))
(ns my-namespace
(:require
[tadam.templates :refer [render-HTML]]
))
(defn index-with-html
;; View HTML
[req]
;; path: resources/templates/web/home.html
(render-HTML req "web/home.html" {:name "Tadam"}))
(ns my-namespace
(:require
[tadam.templates :refer [render-JSON]]
))
(defn json-request
;; View JSON
[req]
(render-JSON {:id 101 :title "Clojure is every day more fantastic" :url "https://clojure.org/"}))
(ns my-namespace
(:require
[tadam.templates :refer [render-HTML]]
[tadam.db :refer [query_all]]
))
(defn all-posts
;; View database with multiple results
[req]
(let [links (query_all ["SELECT * FROM posts"])]
(render-HTML req "web/all-posts.html" {:links links})))
(ns my-namespace
(:require
[tadam.templates :refer [render-HTML]]
[tadam.db :refer [query_one]]
))
(defn single-post
;; View database with one result
[req]
(let [post (query_one ["SELECT * FROM posts WHERE id = ?" (Integer/parseInt (-> req :params :id))])]
(render-HTML "web/single.html" {:post post})))
(ns my-namespace (:require [tadam.templates :refer [render-404]] ))
(defn page-404
;; View page 404
[req]
(render-404))