aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2025-01-06 10:06:06 -0800
committerJohn MacFarlane <[email protected]>2025-01-06 10:06:06 -0800
commit1cfccfae6e7527d8cd57e3a834e5d28ff0d799f6 (patch)
treeb93b6fc507f71e07f16fe3aab090deb6a7ffdeea /src
parent45726adeaf6951da841c20ee5aaa3b6d2a41d068 (diff)
Asciidoc writer: don't emit class in span if it's just "mark".
"mark" class is used for highlighting, and Asciidoc treats bare `#...#` with no attributes as highlighted text. Closes #10511.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/AsciiDoc.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs
index f6535e4e0..c436c5f16 100644
--- a/src/Text/Pandoc/Writers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Writers/AsciiDoc.hs
@@ -670,9 +670,10 @@ inlineToAsciiDoc opts (Span (ident,classes,_) ils) = do
contents <- inlineListToAsciiDoc opts ils
isIntraword <- gets intraword
let marker = if isIntraword then "##" else "#"
- if T.null ident && null classes
- then return contents
- else do
+ case classes of
+ [] | T.null ident -> return contents
+ ["mark"] | T.null ident -> return $ marker <> contents <> marker
+ _ -> do
let modifier = brackets $ literal $ T.unwords $
[ "#" <> ident | not (T.null ident)] ++ map ("." <>) classes
return $ modifier <> marker <> contents <> marker