summaryrefslogtreecommitdiff
path: root/src/mulk/benki/util.clj
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2012-04-09 15:05:27 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2012-04-09 15:05:27 +0200
commite3aee2b049c46599b3e8f7552bd33ea162e485ab (patch)
tree043a97f2452cecef526baf6fdede68b94cdfae3b /src/mulk/benki/util.clj
parenteec1fa16980cfc91b9fe69e4840f9cfb2f535167 (diff)
Add Lafargue subsite (lazy chat functionality).
Diffstat (limited to 'src/mulk/benki/util.clj')
-rw-r--r--src/mulk/benki/util.clj17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/mulk/benki/util.clj b/src/mulk/benki/util.clj
index 505c637..cb0ffde 100644
--- a/src/mulk/benki/util.clj
+++ b/src/mulk/benki/util.clj
@@ -9,7 +9,10 @@
[clojure.java.jdbc :as sql])
(:import [java.text DateFormat]
[java.security SecureRandom]
- [java.math BigInteger]))
+ [java.math BigInteger]
+ [org.jsoup Jsoup]
+ [org.jsoup.safety Cleaner Whitelist]
+ [org.pegdown PegDownProcessor]))
(def fmt clojure.pprint/cl-format)
@@ -54,10 +57,12 @@
(defn linkrel [& args]
(match [(vec args)]
[[:login]] (fmt nil "/login")
+ [[:home]] (fmt nil "/")
[[:marx]] (fmt nil "/marx")
[[:marx :submit]] (fmt nil "/marx/submit")
[[:marx :feed]] (fmt nil "/marx/feed")
[[:marx id]] (fmt nil "/marx/~a" id)
+ [[:lafargue :post]] (fmt nil "/lafargue/post")
[[:wiki title & xs]] (fmt nil "/wiki/~a~@[~a~]" title (first xs))
))
@@ -87,3 +92,13 @@
(defn genkey []
;;(.toString (BigInteger. 260 secure-random) 32)
(BigInteger. 260 secure-random))
+
+
+;;;; * User input
+(defonce pegdown (PegDownProcessor.))
+
+(defn markdown->html [markdown]
+ (.markdownToHtml pegdown markdown))
+
+(defn sanitize-html [html]
+ (Jsoup/clean html (Whitelist/basic)))