diff options
-rw-r--r-- | src/Text/Pandoc/Readers/HTML.hs | 5 | ||||
-rw-r--r-- | test/command/5079.md | 16 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs index 2ae79bebd..b668641c8 100644 --- a/src/Text/Pandoc/Readers/HTML.hs +++ b/src/Text/Pandoc/Readers/HTML.hs @@ -501,10 +501,11 @@ pTable = try $ do head' <- map snd <$> pInTag True "tbody" (if null head'' then pTh else return head'') + topfoot <- option [] $ pInTag False "tfoot" $ many pTr rowsLs <- many pTBody - rows' <- pInTag True "tfoot" $ many pTr + bottomfoot <- option [] $ pInTag False "tfoot" $ many pTr TagClose _ <- pSatisfy (matchTagClose "table") - let rows'' = concat rowsLs <> rows' + let rows'' = concat rowsLs <> topfoot <> bottomfoot let rows''' = map (map snd) rows'' -- let rows''' = map (map snd) rows'' -- fail on empty table diff --git a/test/command/5079.md b/test/command/5079.md new file mode 100644 index 000000000..aa93ae6f3 --- /dev/null +++ b/test/command/5079.md @@ -0,0 +1,16 @@ +``` +% pandoc -f html -t native +<table> +<tfoot> +</tfoot> +<tbody> +<tr> +<td>Cell</td> +</tr> +</tbody> +</table> +^D +[Table [] [AlignDefault] [0.0] + [[]] + [[[Plain [Str "Cell"]]]]] +``` |