diff options
author | John MacFarlane <jgm@berkeley.edu> | 2019-09-04 14:56:37 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-09-04 14:57:22 -0700 |
commit | 0e31483d4358a6d2b4ba96c71237e3f7b32979a1 (patch) | |
tree | 2d7bb24d1784bfccb82fe90ef1ab78aa8b280664 | |
parent | e7b8728ad2f4afd588a1105352d2b5feae044eee (diff) | |
download | pandoc-0e31483d4358a6d2b4ba96c71237e3f7b32979a1.tar.gz |
asciidoc writer: don't include `+` in code blocks for regular asciidoc.
This is asciidoctor-specific.
Amends 98ee6ca289ad7117b7336a57bcfc6f4b54463f4e.
-rw-r--r-- | src/Text/Pandoc/Writers/AsciiDoc.hs | 9 | ||||
-rw-r--r-- | test/writer.asciidoc | 12 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs index 38c9b3bf3..f360aeee1 100644 --- a/src/Text/Pandoc/Writers/AsciiDoc.hs +++ b/src/Text/Pandoc/Writers/AsciiDoc.hs @@ -457,8 +457,13 @@ inlineToAsciiDoc opts (Quoted qt lst) = do DoubleQuote | isAsciidoctor -> [Str "\"`"] ++ lst ++ [Str "`\""] | otherwise -> [Str "``"] ++ lst ++ [Str "''"] -inlineToAsciiDoc _ (Code _ str) = return $ - text "`+" <> text (escapeStringUsing (backslashEscapes "`") str) <> "+`" +inlineToAsciiDoc _ (Code _ str) = do + isAsciidoctor <- gets asciidoctorVariant + let contents = text (escapeStringUsing (backslashEscapes "`") str) + return $ + if isAsciidoctor + then text "`+" <> contents <> "+`" + else text "`" <> contents <> "`" inlineToAsciiDoc _ (Str str) = return $ text $ escapeString str inlineToAsciiDoc _ (Math InlineMath str) = do isAsciidoctor <- gets asciidoctorVariant diff --git a/test/writer.asciidoc b/test/writer.asciidoc index ab3347b63..237e4a70b 100644 --- a/test/writer.asciidoc +++ b/test/writer.asciidoc @@ -423,7 +423,7 @@ So is *_this_* word. So is *_this_* word. -This is code: `+>+`, `+$+`, `+\+`, `+\$+`, `+<html>+`. +This is code: `>`, `$`, `\`, `\$`, `<html>`. [line-through]*This is _strikeout_.* @@ -446,7 +446,7 @@ spaces: a^b c^d, a~b c~d. `He said, ``I want to go.''' Were you alive in the 70’s? -Here is some quoted ``+code+`' and a ``http://example.com/?foo=1&bar=2[quoted +Here is some quoted ``code`' and a ``http://example.com/?foo=1&bar=2[quoted link]''. Some dashes: one—two — three—four — five. @@ -476,11 +476,11 @@ latexmath:[$\alpha + \omega \times x^2$]. These shouldn’t be math: -* To get the famous equation, write `+$e = mc^2$+`. +* To get the famous equation, write `$e = mc^2$`. * $22,000 is a _lot_ of money. So is $34,000. (It worked if ``lot'' is emphasized.) * Shoes ($20) and socks ($5). -* Escaped `+$+`: $73 _this should be emphasized_ 23$. +* Escaped `$`: $73 _this should be emphasized_ 23$. Here’s a LaTeX table: @@ -610,7 +610,7 @@ ____ Blockquoted: http://example.com/ ____ -Auto-links should not occur here: `+<http://example.com/>+` +Auto-links should not occur here: `<http://example.com/>` .... or here: <http://example.com/> @@ -635,7 +635,7 @@ anywhere after the footnote reference. It need not be placed at the end of the document.] and another.[multiblock footnote omitted] This should _not_ be a footnote reference, because it contains a space.[^my note] Here is an inline note.footnote:[This is _easier_ to type. Inline notes may contain -http://google.com[links] and `+]+` verbatim characters, as well as [bracketed +http://google.com[links] and `]` verbatim characters, as well as [bracketed text].] ____ |