@@ -518,7 +518,7 @@ parseHtmlTags text
518518-- Handle plain text until a special character
519519parsePlainText :: Text -> [MDElement ]
520520parsePlainText text =
521- let (content, rest) = T. break (`elem` [' *' , ' _' , ' ~' , ' <' ]) text
521+ let (content, rest) = T. break (`elem` [' *' , ' _' , ' ~' , ' <' , ' ! ' , ' [ ' , ' ` ' ]) text
522522 in PlainText content : parseInline rest
523523
524524isCodeBlockStart :: Text -> Bool
@@ -535,11 +535,11 @@ parseCodeBlock _ = (CodeBlock T.empty, [])
535535
536536parseInlineCode :: Text -> [MDElement ]
537537parseInlineCode text
538- | T. isPrefixOf (T. pack " ``" ) text =
539- let (content, rest) = T. breakOn (T. pack " ``" ) (T. drop 2 text)
540- in if T. isPrefixOf (T. pack " ``" ) rest
541- then InlineCode (T. strip content) : parseInline (T. drop 2 rest)
542- else PlainText (T. pack " ``" ) : parseInline (T. drop 2 text)
538+ | T. isPrefixOf (T. pack " ``` " ) text =
539+ let (content, rest) = T. breakOn (T. pack " ``` " ) (T. drop 3 text)
540+ in if T. isPrefixOf (T. pack " ``` " ) rest
541+ then InlineCode (T. strip content) : parseInline (T. drop 3 rest)
542+ else PlainText (T. pack " ``` " ) : parseInline (T. drop 2 text)
543543 | T. isPrefixOf (T. pack " `" ) text =
544544 let (content, rest) = T. breakOn (T. pack " `" ) (T. drop 1 text)
545545 in if T. isPrefixOf (T. pack " `" ) rest
0 commit comments