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: \&gt;
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>\&gt;</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