git.iko.soy/typeable/pandoc
on master help sign in
Made markdown writer sensitive to Ext_definition_lists.

IF not set, definition lists will be rendered as regular paragraphs, with the term set off by a line break.

commitaef0f1d7c774c54f902c45f3df606851a56a995e authorJohn MacFarlane <jgm@berkeley.edu> dateThu 2 Aug 2012, 21:35 (14 years ago) parent03b1ba5
1 file changed+13−8
src/Text/Pandoc/Writers/Markdown.hs+13−8
src/Text/Pandoc/Writers/Markdown.hs+13−8
@@ -366,15 +366,20 @@ definitionListItemToMarkdown :: WriterOptions
366366 -> State WriterState Doc
367367definitionListItemToMarkdown opts (label, defs) = do
368368 labelText <- inlineListToMarkdown opts label
369− let tabStop = writerTabStop opts
370− st <- get
371− let leader = if stPlain st then " " else ": "
372− let sps = case writerTabStop opts - 3 of
373− n | n > 0 -> text $ replicate n ' '
374− _ -> text " "
375369 defs' <- mapM (mapM (blockToMarkdown opts)) defs
376− let contents = vcat $ map (\d -> hang tabStop (leader <> sps) $ vcat d <> cr) defs'
377− return $ nowrap labelText <> cr <> contents <> cr
370+ if isEnabled Ext_definition_lists opts
371+ then do
372+ let tabStop = writerTabStop opts
373+ st <- get
374+ let leader = if stPlain st then " " else ": "
375+ let sps = case writerTabStop opts - 3 of
376+ n | n > 0 -> text $ replicate n ' '
377+ _ -> text " "
378+ let contents = vcat $ map (\d -> hang tabStop (leader <> sps) $ vcat d <> cr) defs'
379+ return $ nowrap labelText <> cr <> contents <> cr
380+ else do
381+ return $ nowrap labelText <> text " " <> cr <>
382+ vsep (map vsep defs') <> blankline
378383
379384-- | Convert list of Pandoc block elements to markdown.
380385blockListToMarkdown :: WriterOptions -- ^ Options