diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2010-03-10 07:34:10 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2010-03-10 07:34:10 +0000 |
commit | 3b9e7f36ebc04689739b939edb6b3e351a5d0ea7 (patch) | |
tree | e970899c8d735acbf1b5dac42d63646223fdb7b5 /src/Text/Pandoc | |
parent | 8382de28de003fd9474d94e04b645fdb9236db5b (diff) | |
download | pandoc-3b9e7f36ebc04689739b939edb6b3e351a5d0ea7.tar.gz |
Markdown writer: proper support for headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1876 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index af7ec6e43..96c4fd15d 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -219,20 +219,28 @@ blockToMarkdown opts (Table caption aligns widths headers rows) = do else map (floor . (78 *)) widths let makeRow = hsepBlocks . (zipWith alignHeader aligns) . (zipWith docToBlock widthsInChars) - let head' = makeRow headers' let rows' = map makeRow rawRows + let head' = makeRow headers' let maxRowHeight = maximum $ map heightOfBlock (head':rows') let underline = hsep $ map (\width -> text $ replicate width '-') widthsInChars let border = if maxRowHeight > 1 then text $ replicate (sum widthsInChars + (length widthsInChars - 1)) '-' - else empty + else if all null headers + then underline + else empty + let head'' = if all null headers + then empty + else border $+$ blockToDoc head' let spacer = if maxRowHeight > 1 then text "" else empty let body = vcat $ intersperse spacer $ map blockToDoc rows' - return $ (nest 2 $ border $+$ (blockToDoc head') $+$ underline $+$ body $+$ - border $+$ caption'') <> text "\n" + let bottom = if all null headers + then underline + else border + return $ (nest 2 $ head'' $+$ underline $+$ body $+$ + bottom $+$ caption'') <> text "\n" blockToMarkdown opts (BulletList items) = do contents <- mapM (bulletListItemToMarkdown opts) items return $ (vcat contents) <> text "\n" |