git.iko.soy/typeable/pandoc
on master help sign in
Fix multiline table for XWiki writer (#5683)

Details at https://groups.google.com/forum/#!topic/pandoc-discuss/c861tTdCFTg Fix XWiki output for ``` +----------+----------+ | Col A | Col B | +==========+==========+ | Row A | * Item A | | | * Item B | +----------+----------+ ``` from (notice that the following XWiki code renders as a table followed by a singleton list) ``` |=Col A|=Col B |Row A|*. Item A *. Item B ``` to ``` |=Col A|=Col B |Row A|(((*. Item A *. Item B ))) ```

commitd4fa38a0a5b3d1796d959a5480e591539abad7a8 authorZihang Chen <chsc4698@gmail.com> dateTue 13 Aug 2019, 16:37 (7 years ago) parenta0a41c7
1 file changed+4−2
src/Text/Pandoc/Writers/XWiki.hs+4−2
src/Text/Pandoc/Writers/XWiki.hs+4−2
@@ -139,9 +139,11 @@ formRow row = do
139139tableCellXWiki :: PandocMonad m => Bool -> [Block] -> XWikiReader m Text
140140tableCellXWiki isHeader cell = do
141141 contents <- blockListToXWiki cell
142+ let isMultiline = (length . split (== '\n')) contents > 1
143+ let contents' = intercalate contents $ if isMultiline then [pack "(((", pack ")))"] else [mempty, mempty]
142144 let cellBorder = if isHeader then "|=" else "|"
143− return $ cellBorder <> contents
144−
145+ return $ cellBorder <> contents'
146+
145147
146148inlineListToXWiki :: PandocMonad m => [Inline] -> XWikiReader m Text
147149inlineListToXWiki lst =