diff options
author | mb21 <mb21@users.noreply.github.com> | 2017-12-21 09:56:14 +0100 |
---|---|---|
committer | mb21 <mb21@users.noreply.github.com> | 2017-12-23 09:42:04 +0100 |
commit | 9b54b9461221f1bb34b8d3e6ffa0f43d5a9e6352 (patch) | |
tree | 5bab188e9fc91ee199831a169b4dc6e2e8e8fac6 /src/Text/Pandoc | |
parent | e3c1449ae6c238f7195981f39bb505da0c69bc0c (diff) | |
download | pandoc-9b54b9461221f1bb34b8d3e6ffa0f43d5a9e6352.tar.gz |
HTML Reader: be more forgiving about figcaption
fixes #4183
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r-- | src/Text/Pandoc/Readers/HTML.hs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index f5f296712..3e59c4bf7 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -74,8 +74,8 @@ import Text.Pandoc.Options ( ReaderOptions (readerExtensions, readerStripComments), extensionEnabled) import Text.Pandoc.Parsing hiding ((<|>)) -import Text.Pandoc.Shared (addMetaField, crFilter, escapeURI, extractSpaces, - safeRead, underlineSpan) +import Text.Pandoc.Shared (addMetaField, blocksToInlines', crFilter, escapeURI, + extractSpaces, safeRead, underlineSpan) import Text.Pandoc.Walk import Text.Parsec.Error import Text.TeXMath (readMathML, writeTeX) @@ -588,8 +588,11 @@ pFigure = try $ do skipMany pBlank let pImg = (\x -> (Just x, Nothing)) <$> (pOptInTag "p" pImage <* skipMany pBlank) - pCapt = (\x -> (Nothing, Just x)) <$> - (pInTags "figcaption" inline <* skipMany pBlank) + pCapt = (\x -> (Nothing, Just x)) <$> do + skipMany pBlank + bs <- pInTags "figcaption" block + skipMany pBlank + return $ blocksToInlines' $ B.toList bs pSkip = (Nothing, Nothing) <$ pSatisfy (not . matchTagClose "figure") res <- many (pImg <|> pCapt <|> pSkip) let mbimg = msum $ map fst res |