1<p>These should all get escaped:</p> 2 3<p>Backslash: \</p> 4 5<p>Backtick: `</p> 6 7<p>Asterisk: *</p> 8 9<p>Underscore: _</p> 10 11<p>Left brace: {</p> 12 13<p>Right brace: }</p> 14 15<p>Left bracket: [</p> 16 17<p>Right bracket: ]</p> 18 19<p>Left paren: (</p> 20 21<p>Right paren: )</p> 22 23<p>Greater-than: ></p> 24 25<p>Hash: #</p> 26 27<p>Period: .</p> 28 29<p>Bang: !</p> 30 31<p>Plus: +</p> 32 33<p>Minus: -</p> 34 35<p>These should not, because they occur within a code block:</p> 36 37<pre><code>Backslash: \\ 38 39Backtick: \` 40 41Asterisk: \* 42 43Underscore: \_ 44 45Left brace: \{ 46 47Right brace: \} 48 49Left bracket: \[ 50 51Right bracket: \] 52 53Left paren: \( 54 55Right paren: \) 56 57Greater-than: \> 58 59Hash: \# 60 61Period: \. 62 63Bang: \! 64 65Plus: \+ 66 67Minus: \- 68</code></pre> 69 70<p>Nor should these, which occur in code spans:</p> 71 72<p>Backslash: <code>\\</code></p> 73 74<p>Backtick: <code>\`</code></p> 75 76<p>Asterisk: <code>\*</code></p> 77 78<p>Underscore: <code>\_</code></p> 79 80<p>Left brace: <code>\{</code></p> 81 82<p>Right brace: <code>\}</code></p> 83 84<p>Left bracket: <code>\[</code></p> 85 86<p>Right bracket: <code>\]</code></p> 87 88<p>Left paren: <code>\(</code></p> 89 90<p>Right paren: <code>\)</code></p> 91 92<p>Greater-than: <code>\></code></p> 93 94<p>Hash: <code>\#</code></p> 95 96<p>Period: <code>\.</code></p> 97 98<p>Bang: <code>\!</code></p> 99 100<p>Plus: <code>\+</code></p> 101 102<p>Minus: <code>\-</code></p> 103 104 105<p>These should get escaped, even though they're matching pairs for 106other Markdown constructs:</p> 107 108<p>*asterisks*</p> 109 110<p>_underscores_</p> 111 112<p>`backticks`</p> 113 114<p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p> 115 116<p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p> 117 118<p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p> 119