diff options
-rw-r--r-- | src/Text/Pandoc/Readers/RST.hs | 9 | ||||
-rw-r--r-- | test/command/7064.md | 32 |
2 files changed, 37 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs index 707af905f..0f32d993c 100644 --- a/src/Text/Pandoc/Readers/RST.hs +++ b/src/Text/Pandoc/Readers/RST.hs @@ -877,10 +877,11 @@ csvTableDirective top fields rawcsv = do (bs, _) <- fetchItem u return $ UTF8.toText bs Nothing -> return rawcsv - let res = parseCSV opts (case explicitHeader of - Just h -> h <> "\n" <> rawcsv' - Nothing -> rawcsv') - case res of + let header' = case explicitHeader of + Just h -> parseCSV defaultCSVOptions h + Nothing -> Right [] + let res = parseCSV opts rawcsv' + case (<>) <$> header' <*> res of Left e -> throwError $ PandocParsecError "csv table" e Right rawrows -> do diff --git a/test/command/7064.md b/test/command/7064.md new file mode 100644 index 000000000..58b72e363 --- /dev/null +++ b/test/command/7064.md @@ -0,0 +1,32 @@ +``` +% pandoc -f rst -t html +.. csv-table:: Changes + :header: "Version", "Date", "Description" + :widths: 15, 15, 70 + :delim: $ + + 0.1.0 $ 18/02/2013 $ Initial Release +^D +<table> +<caption>Changes</caption> +<colgroup> +<col style="width: 15%" /> +<col style="width: 15%" /> +<col style="width: 70%" /> +</colgroup> +<thead> +<tr class="header"> +<th>Version</th> +<th>Date</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td>0.1.0</td> +<td>18/02/2013</td> +<td>Initial Release</td> +</tr> +</tbody> +</table> +``` |