git.iko.soy/typeable/pandoc
on master help sign in
Made markdown writer sensitive to Ext_definition_lists.
aef0f1dJohn MacFarlane
src/Text/Pandoc/Writers/Markdown.hs+13−8
@@ -366,15 +366,20 @@ definitionListItemToMarkdown :: WriterOptions
366 -> State WriterState Doc
366 -> State WriterState Doc
367definitionListItemToMarkdown opts (label, defs) = do
367definitionListItemToMarkdown opts (label, defs) = do
368 labelText <- inlineListToMarkdown opts label
368 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 " "
375 defs' <- mapM (mapM (blockToMarkdown opts)) defs
369 defs' <- mapM (mapM (blockToMarkdown opts)) defs
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 " "
376− let contents = vcat $ map (\d -> hang tabStop (leader <> sps) $ vcat d <> cr) defs'
378+ let contents = vcat $ map (\d -> hang tabStop (leader <> sps) $ vcat d <> cr) defs'
377− return $ nowrap labelText <> cr <> contents <> cr
379+ return $ nowrap labelText <> cr <> contents <> cr
380+ else do
381+ return $ nowrap labelText <> text " " <> cr <>
382+ vsep (map vsep defs') <> blankline
378
383
379-- | Convert list of Pandoc block elements to markdown.
384-- | Convert list of Pandoc block elements to markdown.
380blockListToMarkdown :: WriterOptions -- ^ Options
385blockListToMarkdown :: WriterOptions -- ^ Options