diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs index 21b2e79..03accdd 100644 --- a/src/MdToHTML.hs +++ b/src/MdToHTML.hs @@ -407,9 +407,13 @@ parseOrderedList = do void (char '\n') <++ eof return $ OrdList (firstLine : lineItems) +parseHorizontalRule :: ReadP MdToken +parseHorizontalRule = string "---" *> (void (string "\n\n") <++ eof) *> return HorizontalRule + documentParsers :: [ReadP MdToken] documentParsers = - [ parseHeader, + [ parseHorizontalRule, + parseHeader, parseBlockquote, parseUnorderedList, parseOrderedList, diff --git a/src/MdToHtmlTest.hs b/src/MdToHtmlTest.hs index 3a514b9..239eb86 100644 --- a/src/MdToHtmlTest.hs +++ b/src/MdToHtmlTest.hs @@ -110,6 +110,10 @@ figureTests = [ check_equal "Image by itself" "
\"Image
Image 1
" (convert "![Image 1](img.png)") ] +horizontalRuleTests = + TestList + [check_equal "Horizontal Rule" "

a


b

" (convert "a\n\n---\n\nb")] + integrationTests = TestList [ check_equal "Integration 1" "

Sample Markdown

This is some basic, sample markdown.

Second Heading

" (convert "# Sample Markdown\n\n This is some basic, sample markdown.\n\n ## __Second__ _Heading_"), @@ -147,6 +151,7 @@ tests = imageTests, figureTests, codeTests, + horizontalRuleTests, integrationTests ]