From 5ff55cd6309d570a5297c0b26dfd623b1fadd604 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 5 Nov 2011 18:45:04 +0100 Subject: Initial checkin. --- src/mulk/benki/main.clj | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/mulk/benki/main.clj (limited to 'src/mulk/benki/main.clj') diff --git a/src/mulk/benki/main.clj b/src/mulk/benki/main.clj new file mode 100644 index 0000000..59aa512 --- /dev/null +++ b/src/mulk/benki/main.clj @@ -0,0 +1,46 @@ +(ns mulk.benki.main + (:refer-clojure) + (:use [clojure core repl pprint] + noir.core + [hiccup core page-helpers] + [mulk.benki util]) + (:require noir.server)) + + +(defonce server (noir.server/start 3000)) + +(defn wrap-utf-8 [handler] + (fn [request] + (let [response (handler request) + ctype (get-in response [:headers "Content-Type"]) + utf8ctype (str ctype "; charset=utf-8")] + (if (and ctype + (re-matches #"^(text/html|text/plain|application/xhtml+xml|text/xml)$" ctype)) + (assoc-in response [:headers "Content-Type"] utf8ctype) + response)))) + +(do-once ::init + (noir.server/add-middleware #'wrap-utf-8) + ;;(set! *base-url* nil) + ) + + +(defpage "/welcome" [] + "

Hello World

+ +

Hi!

") + +(defpage "/hello" {name :name} + (layout + [:h1 "Greeting"] + [:p (fmt nil "Hi~@[ ~A~]!" name)])) + +(defpage "/journal/:id" {id :id} + (layout + [:h1 "Journal Entry #" id] + [:p "Bla bla bla."])) + +(defpage "/journal" {} + (layout + [:h1 "Journal"])) + -- cgit v1.2.3