summaryrefslogtreecommitdiff
path: root/src/clarktown/engine.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clarktown/engine.clj')
-rw-r--r--src/clarktown/engine.clj15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/clarktown/engine.clj b/src/clarktown/engine.clj
index deca176..eaa0fb0 100644
--- a/src/clarktown/engine.clj
+++ b/src/clarktown/engine.clj
@@ -69,13 +69,20 @@
lines)))
+(defn- remove-excess-newlines
+ "Replaces all occurences of 3 or more concecutive newlines into
+ two newlines."
+ [markdown]
+ (string/replace markdown #"\n{3,}" "\n\n"))
+
+
(defn- correct-markdown
"Corrects invalid Markdown for the parser."
[markdown given-correctors]
- (let [lines (string/split-lines markdown)]
- (->> lines
- (correct-block-separations (:block-separations given-correctors))
- (string/join \newline))))
+ (->> (string/split-lines markdown)
+ (correct-block-separations (:block-separations given-correctors))
+ (string/join \newline)
+ (remove-excess-newlines)))
(defn- find-parser-by-block