summaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2016-11-18 11:58:56 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2016-11-18 11:58:56 +0100
commit31076adf090b8b87f5bab90c8b91f872f81aa2bd (patch)
treece3b249817a5bda959ee46bb6ddcf7c45977df97 /src/Text
parent20b2269fb7d0ccc06622637a713e469265c88eea (diff)
Markdown writer: Use bracketed form for native spans...
...when `bracketed_spans` enabled. Closes #3229.
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 49f711f74..318c3204b 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -858,10 +858,17 @@ inlineToMarkdown :: WriterOptions -> Inline -> MD Doc
inlineToMarkdown opts (Span attrs ils) = do
plain <- asks envPlain
contents <- inlineListToMarkdown opts ils
- return $ if not plain &&
- (isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts)
- then tagWithAttrs "span" attrs <> contents <> text "</span>"
- else contents
+ return $ case plain of
+ True -> contents
+ False | isEnabled Ext_bracketed_spans opts ->
+ "[" <> contents <> "]" <>
+ if attrs == nullAttr
+ then "{}"
+ else linkAttributes opts attrs
+ | isEnabled Ext_raw_html opts ||
+ isEnabled Ext_native_spans opts ->
+ tagWithAttrs "span" attrs <> contents <> text "</span>"
+ | otherwise -> contents
inlineToMarkdown opts (Emph lst) = do
plain <- asks envPlain
contents <- inlineListToMarkdown opts lst