From a3ab4b8545babfb88b9ffda1cfa85de31ddc57ef Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 5 Dec 2025 11:13:02 +0100 Subject: HTML reader: parse inline style elements as RawInline. This is a cleaner fix to #10643 than the reverted commit 7fe8c92. Styles are not stripped, but with this change they will not interfere with inline parsing. Closes #11246. --- src/Text/Pandoc/Readers/HTML.hs | 3 +++ test/command/10643.md | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 test/command/10643.md diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index 36d622abb..23019e651 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -713,6 +713,7 @@ inline = pTagText <|> do "input" | lookup "type" attr == Just "checkbox" -> asks inListItem >>= guard >> pCheckbox + "style" -> B.rawInline "html" <$> pHtmlBlock "style" "script" | Just x <- lookup "type" attr , "math/tex" `T.isPrefixOf` x -> pScriptMath @@ -1077,6 +1078,8 @@ isInlineTag :: Tag Text -> Bool isInlineTag t = isCommentTag t || case t of TagOpen "script" _ -> "math/tex" `T.isPrefixOf` fromAttrib "type" t TagClose "script" -> True + TagOpen "style" _ -> True -- see #10643, invalid but it happens + TagClose "style" -> True TagOpen name _ -> isInlineTagName name TagClose name -> isInlineTagName name _ -> False diff --git a/test/command/10643.md b/test/command/10643.md new file mode 100644 index 000000000..2cf41bf20 --- /dev/null +++ b/test/command/10643.md @@ -0,0 +1,11 @@ +``` +% pandoc -f html -t native +

AB

+^D +[ Para + [ Str "A" + , RawInline (Format "html") "" + , Str "B" + ] +] +``` -- cgit v1.2.3