diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-10-31 10:38:48 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-10-31 10:57:20 -0700 |
commit | 81610144f94a99dc0156abeffea66ffd7aa808b7 (patch) | |
tree | b39ce053f2bf557690d268859e9a56a7ab1515e3 /src/Text/Pandoc/Writers | |
parent | 1d208babe452e5e36da56f10c0aa7fa8b05666e8 (diff) | |
download | pandoc-81610144f94a99dc0156abeffea66ffd7aa808b7.tar.gz |
Make `fenced_divs` affect the Markdown writer.
If `fenced_divs` is enabled, fenced divs will be used.
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 5d812b169..c109385d8 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -397,11 +397,19 @@ blockToMarkdown' :: PandocMonad m blockToMarkdown' _ Null = return empty blockToMarkdown' opts (Div attrs ils) = do contents <- blockListToMarkdown opts ils - return $ if isEnabled Ext_raw_html opts && - isEnabled Ext_markdown_in_html_blocks opts - then tagWithAttrs "div" attrs <> blankline <> - contents <> blankline <> "</div>" <> blankline - else contents <> blankline + return $ + case () of + _ | isEnabled Ext_fenced_divs opts && + attrs /= nullAttr -> + nowrap (text ":::" <+> attrsToMarkdown attrs) $$ + contents $$ + text ":::" <> blankline + | isEnabled Ext_native_divs opts || + (isEnabled Ext_raw_html opts && + isEnabled Ext_markdown_in_html_blocks opts) -> + tagWithAttrs "div" attrs <> blankline <> + contents <> blankline <> "</div>" <> blankline + | otherwise -> contents <> blankline blockToMarkdown' opts (Plain inlines) = do contents <- inlineListToMarkdown opts inlines -- escape if para starts with ordered list marker |