aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Markdown.hs
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-01-04 01:04:56 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-01-04 01:04:56 +0000
commit99959b68e9ebbe48e952ce915368d6fc88a7d41a (patch)
treeaa25d2ffcddacb044a35fa48865794d7d013dab6 /src/Text/Pandoc/Writers/Markdown.hs
parente4880319e66493948e198cdd8b3d18ba572a2967 (diff)
downloadpandoc-99959b68e9ebbe48e952ce915368d6fc88a7d41a.tar.gz
+ Improved text wrapping algorithm in markdown, docbook, and RST writers.
LineBreaks no longer cause ugly wrapping in Markdown output. + Replaced splitBySpace with the more general, polymorphic function splitBy (in Text/Pandoc/Shared). git-svn-id: https://pandoc.googlecode.com/svn/trunk@411 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src/Text/Pandoc/Writers/Markdown.hs')
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index bfebc71fe..c1d50c2ef 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -58,8 +58,13 @@ escapeLinkTitle = gsub "\"" "\\\\\""
-- | Take list of inline elements and return wrapped doc.
wrappedMarkdown :: [Inline] -> Doc
-wrappedMarkdown lst = fsep $
- map (fcat . (map inlineToMarkdown)) (splitBySpace lst)
+wrappedMarkdown lst =
+ let wrapSection sec = fsep $ map inlineListToMarkdown $ (splitBy Space sec)
+ wrappedSecs = map wrapSection $ splitBy LineBreak lst
+ wrappedSecs' = foldr (\s rest -> if not (null rest)
+ then (s <> text " "):rest
+ else s:rest) [] wrappedSecs in
+ vcat wrappedSecs'
-- | Insert Blank block between key and non-key
formatKeys :: [Block] -> [Block]