diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs index 4f2c99d..87646ba 100644 --- a/src/MdToHTML.hs +++ b/src/MdToHTML.hs @@ -542,11 +542,15 @@ doubleNewlineText :: T.Text doubleNewlineText = T.pack "\n\n" parseHorizontalRule :: Parser MdToken -parseHorizontalRule = string horizontalRuleText *> (void (string doubleNewlineText) <|> eof) *> return HorizontalRule +parseHorizontalRule = parseHorizontalRuleLine *> (void (string doubleNewlineText) <|> eof) *> return HorizontalRule + where + parseHorizontalRuleLine = fallthroughParser (map (string . T.pack) ["---", "***", "___", "- - -", "* * *", "_ _ _"]) parseCodeblock :: Parser MdToken parseCodeblock = do - string (T.pack "```\n") + string (T.pack "```") + _ <- many $ satisfy (/= '\n') -- Language name + char '\n' inside <- someTill anySingle (string (T.pack "\n```")) return $ Codeblock (Unit (concatMap escapeChar inside))