32 lines
903 B
Clojure
32 lines
903 B
Clojure
(ns luduverse.handler
|
|
(:require [compojure.core :refer :all]
|
|
[compojure.route :as route]
|
|
[noir.util.middleware :as middleware]
|
|
[luduverse.pages :as pages]
|
|
[luduverse.images :as images]
|
|
[luduverse.search :as search]))
|
|
|
|
(defn render [template & args]
|
|
(apply str (apply template args)))
|
|
|
|
(defroutes core-routes
|
|
(route/resources "/")
|
|
(GET "/" [] (render pages/landingpage-template))
|
|
(POST "/search" {params :params}
|
|
(let [term (params "term")
|
|
s (search/search term)
|
|
hits (:hit-count s)
|
|
entries (:results s)]
|
|
(render pages/results-template term hits entries)))
|
|
(route/not-found "404, sorry."))
|
|
|
|
(defn init [])
|
|
|
|
(defn destroy [])
|
|
|
|
(def app (middleware/app-handler
|
|
[core-routes]
|
|
:middleware []
|
|
:access-rules []
|
|
:formats [:json-kw :edn]))
|