blob: 1ce7f84f359ac98fe1537f465b0b19a29887427d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
(ns clarktown.renderers.bold
(:require
[clojure.string :as string]))
(defn render
"Renders all occurring bold text as bold."
[block _]
(loop [block block
matches (-> (re-seq #"(\*{2}|\_{2})[^\*|\_](.*?)[^\*|\_](\*{2}|\_{2})" block)
distinct)]
(if (empty? matches)
block
(let [match (ffirst matches)
value (subs match 2 (- (count match) 2))
replacement (str "<strong>" value "</strong>")]
(recur (string/replace block match replacement)
(drop 1 matches))))))
|