aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-01-12 10:20:32 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2021-01-12 10:20:32 -0800
commit387d3e76ee81138588195ebe8dad7720f2623b02 (patch)
tree1a141ee94075cff8c8feb96b840547555cfd7add
parentc451207b08edc36fa5c2f1af5556a8d211e023ed (diff)
downloadpandoc-387d3e76ee81138588195ebe8dad7720f2623b02.tar.gz
Markdown writer: cleaned up raw formats.
We now react appropriately to gfm, commonmark, and commonmark_x as raw formats.
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs69
1 files changed, 35 insertions, 34 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index d62727d90..de9075ac4 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -494,25 +494,24 @@ blockToMarkdown' opts b@(RawBlock f str) = do
let renderEmpty = mempty <$ report (BlockNotRendered b)
case variant of
PlainText -> renderEmpty
- _ | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
- "markdown_mmd", "markdown_strict"] ->
- return $ literal str <> literal "\n"
- | isEnabled Ext_raw_attribute opts -> rawAttribBlock
- | f `elem` ["html", "html5", "html4"] ->
- case () of
- _ | isEnabled Ext_markdown_attribute opts -> return $
- literal (addMarkdownAttribute str) <> literal "\n"
- | isEnabled Ext_raw_html opts -> return $
- literal str <> literal "\n"
- | isEnabled Ext_raw_attribute opts -> rawAttribBlock
- | otherwise -> renderEmpty
- | f `elem` ["latex", "tex"] ->
- case () of
- _ | isEnabled Ext_raw_tex opts -> return $
- literal str <> literal "\n"
- | isEnabled Ext_raw_attribute opts -> rawAttribBlock
- | otherwise -> renderEmpty
- | otherwise -> renderEmpty
+ Commonmark
+ | f `elem` ["gfm", "commonmark", "commonmark_x", "markdown"]
+ -> return $ literal str <> literal "\n"
+ Markdown
+ | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
+ "markdown_mmd", "markdown_strict"]
+ -> return $ literal str <> literal "\n"
+ _ | isEnabled Ext_raw_attribute opts -> rawAttribBlock
+ | f `elem` ["html", "html5", "html4"]
+ , isEnabled Ext_markdown_attribute opts
+ -> return $ literal (addMarkdownAttribute str) <> literal "\n"
+ | f `elem` ["html", "html5", "html4"]
+ , isEnabled Ext_raw_html opts
+ -> return $ literal str <> literal "\n"
+ | f `elem` ["latex", "tex"]
+ , isEnabled Ext_raw_tex opts
+ -> return $ literal str <> literal "\n"
+ _ -> renderEmpty
blockToMarkdown' opts HorizontalRule =
return $ blankline <> literal (T.replicate (writerColumns opts) "-") <> blankline
blockToMarkdown' opts (Header level attr inlines) = do
@@ -1250,21 +1249,23 @@ inlineToMarkdown opts il@(RawInline f str) = do
let renderEmpty = mempty <$ report (InlineNotRendered il)
case variant of
PlainText -> renderEmpty
- _ | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
- "markdown_mmd", "markdown_strict"] ->
- return $ literal str
- | isEnabled Ext_raw_attribute opts -> rawAttribInline
- | f `elem` ["html", "html5", "html4"] ->
- case () of
- _ | isEnabled Ext_raw_html opts -> return $ literal str
- | isEnabled Ext_raw_attribute opts -> rawAttribInline
- | otherwise -> renderEmpty
- | f `elem` ["latex", "tex"] ->
- case () of
- _ | isEnabled Ext_raw_tex opts -> return $ literal str
- | isEnabled Ext_raw_attribute opts -> rawAttribInline
- | otherwise -> renderEmpty
- | otherwise -> renderEmpty
+ Commonmark
+ | f `elem` ["gfm", "commonmark", "commonmark_x", "markdown"]
+ -> return $ literal str
+ Markdown
+ | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
+ "markdown_mmd", "markdown_strict"]
+ -> return $ literal str
+ _ | isEnabled Ext_raw_attribute opts -> rawAttribInline
+ | f `elem` ["html", "html5", "html4"]
+ , isEnabled Ext_raw_html opts
+ -> return $ literal str
+ | f `elem` ["latex", "tex"]
+ , isEnabled Ext_raw_tex opts
+ -> return $ literal str
+ _ -> renderEmpty
+
+
inlineToMarkdown opts LineBreak = do
variant <- asks envVariant
if variant == PlainText || isEnabled Ext_hard_line_breaks opts