diff options
Diffstat (limited to 'Text/Pandoc')
-rw-r--r-- | Text/Pandoc/Readers/HTML.hs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Text/Pandoc/Readers/HTML.hs b/Text/Pandoc/Readers/HTML.hs index 70a071152..d379b373c 100644 --- a/Text/Pandoc/Readers/HTML.hs +++ b/Text/Pandoc/Readers/HTML.hs @@ -199,12 +199,16 @@ htmlScript = try $ do htmlBlockElement = choice [ htmlScript, htmlComment, xmlDec, definition ] rawHtmlBlock = try $ do - notFollowedBy' (htmlTag "/body" <|> htmlTag "/html") body <- htmlBlockElement <|> anyHtmlTag <|> anyHtmlEndTag sp <- many space state <- getState if stateParseRaw state then return (RawHtml (body ++ sp)) else return Null +-- We don't want to parse </body> or </html> as raw HTML, since these +-- are handled in parseHtml. +rawHtmlBlock' = do notFollowedBy' (htmlTag "/body" <|> htmlTag "/html") + rawHtmlBlock + -- | Parses an HTML comment. htmlComment = try $ do string "<!--" @@ -284,7 +288,8 @@ block = choice [ codeBlock , blockQuote , para , plain - , rawHtmlBlock ] <?> "block" + , rawHtmlBlock' + ] <?> "block" -- -- header blocks |