blob: e8c298f2889d6285f39b9da010294c7e1232333f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
(ns clarktown.renderers.inline-code
(:require
[clojure.string :as string]))
(defn render
"Renders all occurring inline code."
[block _ _]
(loop [block block
matches (-> (re-seq #"\`.*?\`" block)
distinct)]
(if (empty? matches)
block
(let [match (first matches)
value (-> (subs match 1 (- (count match) 1))
(string/replace #"&" "&")
(string/replace #"<" "<")
(string/replace #">" ">"))
replacement (str "<code>" value "</code>")]
(recur (string/replace block match replacement)
(drop 1 matches))))))
|