aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/AsciiDoc.hs10
-rw-r--r--test/command/5080.md6
2 files changed, 13 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs
index 2f92e93ad..6005187d5 100644
--- a/src/Text/Pandoc/Writers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Writers/AsciiDoc.hs
@@ -479,7 +479,11 @@ inlineToAsciiDoc opts (Note [Plain inlines]) = do
return $ text "footnote:[" <> contents <> "]"
-- asciidoc can't handle blank lines in notes
inlineToAsciiDoc _ (Note _) = return "[multiblock footnote omitted]"
-inlineToAsciiDoc opts (Span (ident,_,_) ils) = do
- let identifier = if null ident then empty else "[[" <> text ident <> "]]"
+inlineToAsciiDoc opts (Span (ident,classes,_) ils) = do
contents <- inlineListToAsciiDoc opts ils
- return $ identifier <> contents
+ if null ident && null classes
+ then return contents
+ else do
+ let modifier = brackets $ text $ unwords $
+ [ '#':ident | not (null ident)] ++ map ('.':) classes
+ return $ modifier <> "#" <> contents <> "#"
diff --git a/test/command/5080.md b/test/command/5080.md
new file mode 100644
index 000000000..cd191eb98
--- /dev/null
+++ b/test/command/5080.md
@@ -0,0 +1,6 @@
+```
+pandoc -t asciidoc
+[foo *bar*]{.small .red key=val}
+^D
+[.small .red]#foo _bar_#
+```