@@ -156,15 +156,24 @@ beginsWithOrderedListMarker str =
156156 Left _ -> False
157157 Right _ -> True
158158
159+wrappedMarkdown :: WriterOptions -> [Inline] -> State WriterState Doc
160+wrappedMarkdown opts inlines = do
161+ let chunks = splitBy LineBreak inlines
162+ let chunks' = if null chunks
163+ then []
164+ else (map (++ [Str " "]) $ init chunks) ++ [last chunks]
165+ lns <- mapM (wrapped (inlineListToMarkdown opts)) chunks'
166+ return $ vcat lns
167+
159168-- | Convert Pandoc block element to markdown.
160169blockToMarkdown :: WriterOptions -- ^ Options
161170 -> Block -- ^ Block element
162171 -> State WriterState Doc
163172blockToMarkdown opts Null = return empty
164173blockToMarkdown opts (Plain inlines) =
165− wrapped (inlineListToMarkdown opts) inlines
174+ wrappedMarkdown opts inlines
166175blockToMarkdown opts (Para inlines) = do
167− contents <- wrapped (inlineListToMarkdown opts) inlines
176+ contents <- wrappedMarkdown opts inlines
168177 -- escape if para starts with ordered list marker
169178 let esc = if (not (writerStrictMarkdown opts)) &&
170179 beginsWithOrderedListMarker (render contents)