diff options
| -rw-r--r-- | pandoc.cabal | 1 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/RST.hs | 7 | ||||
| -rw-r--r-- | test/command/01.csv | 4 | ||||
| -rw-r--r-- | test/command/6549.md | 26 | 
4 files changed, 37 insertions, 1 deletions
| diff --git a/pandoc.cabal b/pandoc.cabal index 25ce935a4..9b0ee6fb2 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -205,6 +205,7 @@ extra-source-files:                   test/command/B.txt                   test/command/C.txt                   test/command/D.txt +                 test/command/01.csv                   test/command/defaults1.yaml                   test/command/defaults2.yaml                   test/command/3533-rst-csv-tables.csv diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs index 7c25be486..25682a500 100644 --- a/src/Text/Pandoc/Readers/RST.hs +++ b/src/Text/Pandoc/Readers/RST.hs @@ -879,7 +879,12 @@ csvTableDirective top fields rawcsv = do         Left e  ->           throwError $ PandocParsecError "csv table" e         Right rawrows -> do -         let parseCell = parseFromString' (plain <|> return mempty) +         let singleParaToPlain bs = +               case B.toList bs of +                 [Para ils] -> B.fromList [Plain ils] +                 _          -> bs +         let parseCell t = singleParaToPlain +                <$> parseFromString' parseBlocks (t <> "\n\n")           let parseRow = mapM parseCell           rows <- mapM parseRow rawrows           let (headerRow,bodyRows,numOfCols) = diff --git a/test/command/01.csv b/test/command/01.csv new file mode 100644 index 000000000..76a84398d --- /dev/null +++ b/test/command/01.csv @@ -0,0 +1,4 @@ +"Column1";"Column2" +"Data1";"- data1 + +- data2" diff --git a/test/command/6549.md b/test/command/6549.md new file mode 100644 index 000000000..e41f4b76a --- /dev/null +++ b/test/command/6549.md @@ -0,0 +1,26 @@ +``` +% pandoc -f rst +.. csv-table:: Test table +   :file: command/01.csv +   :delim: ; +   :header-rows: 1 +^D +<table> +<caption>Test table</caption> +<thead> +<tr class="header"> +<th>Column1</th> +<th>Column2</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td>Data1</td> +<td><ul> +<li>data1</li> +<li>data2</li> +</ul></td> +</tr> +</tbody> +</table> +``` | 
