@@ -21,17 +21,16 @@ import Control.Monad.State.Strict (State, get, modify, runState)
2121import Data.Char (isAscii)
2222import Data.Foldable (foldrM)
2323import Data.List (transpose)
24−import Data.Monoid (Any (..))
2524import Data.Text (Text)
2625import qualified Data.Text as T
2726import Network.HTTP (urlEncode)
2827import Text.Pandoc.Class (PandocMonad)
2928import Text.Pandoc.Definition
3029import Text.Pandoc.Options
31−import Text.Pandoc.Shared (isTightList, taskListItemToAscii, linesToPara,
32− substitute, capitalize, isHeaderBlock)
30+import Text.Pandoc.Shared (capitalize, isHeaderBlock, isTightList,
31+ linesToPara, onlySimpleTableCells, substitute, taskListItemToAscii)
3332import Text.Pandoc.Templates (renderTemplate')
34−import Text.Pandoc.Walk (query, walk, walkM)
33+import Text.Pandoc.Walk (walk, walkM)
3534import Text.Pandoc.Writers.HTML (writeHtml5String, tagWithAttributes)
3635import Text.Pandoc.Writers.Shared
3736import Text.Pandoc.XML (toHtml5Entities)
@@ -159,16 +158,7 @@ blockToNodes opts (DefinitionList items) ns =
159158 dlToBullet (term, xs) =
160159 Para term : concat xs
161160blockToNodes opts t@(Table capt aligns _widths headers rows) ns = do
162− let allcells = concat (headers:rows)
163− let isLineBreak LineBreak = Any True
164− isLineBreak _ = Any False
165− let isPlainOrPara [Para _] = True
166− isPlainOrPara [Plain _] = True
167− isPlainOrPara [] = True
168− isPlainOrPara _ = False
169− let isSimple = all isPlainOrPara allcells &&
170− not ( getAny (query isLineBreak allcells) )
171− if isEnabled Ext_pipe_tables opts && isSimple
161+ if isEnabled Ext_pipe_tables opts && onlySimpleTableCells (headers:rows)
172162 then do
173163 -- We construct a table manually as a CUSTOM_BLOCK, for
174164 -- two reasons: (1) cmark-gfm currently doesn't support