summaryrefslogtreecommitdiff
path: root/src/clarktown/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'src/clarktown/parsers')
-rw-r--r--src/clarktown/parsers/heading_block.clj18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/clarktown/parsers/heading_block.clj b/src/clarktown/parsers/heading_block.clj
index 588d196..84483a0 100644
--- a/src/clarktown/parsers/heading_block.clj
+++ b/src/clarktown/parsers/heading_block.clj
@@ -2,12 +2,26 @@
(:require
[clojure.string :as string]))
+
(defn is?
+ "Determines whether the given block is a heading block or not."
[block]
- (= true (-> (clojure.string/trim block)
+ (= true (-> (string/replace block #"\n" "")
+ string/trim
(string/starts-with? "#"))))
(defn render
+ "Renders the heading block."
[block]
- "headingblock")
+ (let [single-line-block (-> (string/replace block #"\n" "")
+ string/trim)
+ size-indicators (-> (string/split single-line-block #" ")
+ first
+ string/trim)
+ size (count size-indicators)
+ value (->> (string/split single-line-block #" ")
+ next
+ (string/join " ")
+ string/trim)]
+ (str "<h" size ">" value "</h" size ">")))