1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
| These should all get escaped:
|
| Backslash: \\
|
| Backtick: \`
|
| Asterisk: \*
|
| Underscore: \_
|
| Left brace: \{
|
| Right brace: \}
|
| Left bracket: \[
|
| Right bracket: \]
|
| Left paren: \(
|
| Right paren: \)
|
| Greater-than: \>
|
| Hash: \#
|
| Period: \.
|
| Bang: \!
|
| Plus: \+
|
| Minus: \-
|
|
|
| These should not, because they occur within a code block:
|
| Backslash: \\
|
| Backtick: \`
|
| Asterisk: \*
|
| Underscore: \_
|
| Left brace: \{
|
| Right brace: \}
|
| Left bracket: \[
|
| Right bracket: \]
|
| Left paren: \(
|
| Right paren: \)
|
| Greater-than: \>
|
| Hash: \#
|
| Period: \.
|
| Bang: \!
|
| Plus: \+
|
| Minus: \-
|
|
| Nor should these, which occur in code spans:
|
| Backslash: `\\`
|
| Backtick: `` \` ``
|
| Asterisk: `\*`
|
| Underscore: `\_`
|
| Left brace: `\{`
|
| Right brace: `\}`
|
| Left bracket: `\[`
|
| Right bracket: `\]`
|
| Left paren: `\(`
|
| Right paren: `\)`
|
| Greater-than: `\>`
|
| Hash: `\#`
|
| Period: `\.`
|
| Bang: `\!`
|
| Plus: `\+`
|
| Minus: `\-`
|
|