diff options
| author | John MacFarlane <[email protected]> | 2025-12-27 23:10:22 -0700 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2025-12-27 23:10:22 -0700 |
| commit | 6956176c193538cac65d1d404da0a05c8fc674c3 (patch) | |
| tree | aebb32be19005e892ddcc70441a6c024074c2d79 | |
| parent | d52e40d17944a3abc7a8523b9f63e999526d082a (diff) | |
AsciiDoc writer: use doubled delims in more contexts.
Also escape the `#` character.
Closes #11362.
An alternative solution, raised in #11362, would be to
rely less on escaping and simply always use doubled delimiters.
However, there would still be a need for escaping, since one
might use a literal `##` (for example)>
| -rw-r--r-- | src/Text/Pandoc/Writers/AsciiDoc.hs | 5 | ||||
| -rw-r--r-- | test/command/11362.md | 17 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs index aca0a4241..55c3f724a 100644 --- a/src/Text/Pandoc/Writers/AsciiDoc.hs +++ b/src/Text/Pandoc/Writers/AsciiDoc.hs @@ -163,6 +163,7 @@ escapeString context t needsEscape '+' = True needsEscape '`' = True needsEscape '*' = True + needsEscape '#' = True needsEscape '_' = True needsEscape '<' = True needsEscape '>' = True @@ -593,7 +594,9 @@ inlineListToAsciiDoc opts lst = do _ -> False isSpacy Start (Str xs) | Just (c, _) <- T.uncons xs = isPunctuation c || isSpace c - isSpacy _ _ = True + isSpacy End (Link{}) = True + isSpacy End (Image{}) = True + isSpacy _ _ = False setIntraword :: PandocMonad m => Bool -> ADW m () setIntraword b = modify $ \st -> st{ intraword = b } diff --git a/test/command/11362.md b/test/command/11362.md new file mode 100644 index 000000000..9e6c22133 --- /dev/null +++ b/test/command/11362.md @@ -0,0 +1,17 @@ +``` +% pandoc -f markdown -t asciidoc +This is a _test_[^1]. + +And yet another **one**[^1]. + +We can also try to write #hashtags [this]{.test}. + +[^1]: Test footnote. +^D +This is a __test__footnote:[Test footnote.]. + +And yet another **one**footnote:[Test footnote.]. + +We can also try to write ++#++hashtags [.test]#this#. + +``` |
