diff options
Diffstat (limited to 'src/Text/Pandoc')
| -rw-r--r-- | src/Text/Pandoc/Readers/HTML.hs | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index 2101b2fc2..c94ee3d6b 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -610,15 +610,19 @@ blockTags :: [String]  blockTags = blockHtmlTags ++ blockDocBookTags  isInlineTag :: Tag String -> Bool -isInlineTag t = tagOpen (`notElem` blockTags) (const True) t || -                tagClose (`notElem` blockTags) t || +isInlineTag t = tagOpen isInlineTagName (const True) t || +                tagClose isInlineTagName t ||                  tagComment (const True) t +                 where isInlineTagName x = x `notElem` blockTags  isBlockTag :: Tag String -> Bool -isBlockTag t = tagOpen (`elem` blocktags) (const True) t || -               tagClose (`elem` blocktags) t || +isBlockTag t = tagOpen isBlockTagName (const True) t || +               tagClose isBlockTagName t ||                 tagComment (const True) t -                 where blocktags = blockTags ++ eitherBlockOrInline +                 where isBlockTagName ('?':_) = True +                       isBlockTagName ('!':_) = True +                       isBlockTagName x       = x `elem` blockTags +                                             || x `elem` eitherBlockOrInline  isTextTag :: Tag String -> Bool  isTextTag = tagText (const True) | 
