diff options
-rw-r--r-- | src/Text/Pandoc/Writers/AsciiDoc.hs | 10 | ||||
-rw-r--r-- | test/command/5080.md | 6 |
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_# +``` |