aboutsummaryrefslogtreecommitdiff
path: root/tests/writer.native
blob: 072849bbf0799a11d41e7f8d1d21682c534f83bb (plain)
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
,HorizontalRule
,Header 1 [Str "Headers"]
,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
,Header 4 [Str "Level",Space,Str "4"]
,Header 5 [Str "Level",Space,Str "5"]
,Header 1 [Str "Level",Space,Str "1"]
,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
,Header 3 [Str "Level",Space,Str "3"]
,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
,Header 2 [Str "Level",Space,Str "2"]
,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
,HorizontalRule
,Header 1 [Str "Paragraphs"]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
,HorizontalRule
,Header 1 [Str "Block",Space,Str "Quotes"]
,Para [Str "E",Str "-",Str "mail",Space,Str "style",Str ":"]
,BlockQuote
 [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
,BlockQuote
 [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
 ,CodeBlock ("",[],[]) "sub status {\n    print \"working\";\n}"
 ,Para [Str "A",Space,Str "list",Str ":"]
 ,OrderedList (1,Decimal,Period)
  [[Plain [Str "item",Space,Str "one"]]
  ,[Plain [Str "item",Space,Str "two"]]]
 ,Para [Str "Nested",Space,Str "block",Space,Str "quotes",Str ":"]
 ,BlockQuote
  [Para [Str "nested"]]
 ,BlockQuote
  [Para [Str "nested"]]]
,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
,HorizontalRule
,Header 1 [Str "Code",Space,Str "Blocks"]
,Para [Str "Code",Str ":"]
,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n    print \"working\";\n}\n\nthis code block is indented by one tab"
,Para [Str "And",Str ":"]
,CodeBlock ("",[],[]) "    this code block is indented by two tabs\n\nThese should not be escaped:  \\$ \\\\ \\> \\[ \\{"
,HorizontalRule
,Header 1 [Str "Lists"]
,Header 2 [Str "Unordered"]
,Para [Str "Asterisks",Space,Str "tight",Str ":"]
,BulletList
 [[Plain [Str "asterisk",Space,Str "1"]]
 ,[Plain [Str "asterisk",Space,Str "2"]]
 ,[Plain [Str "asterisk",Space,Str "3"]]]
,Para [Str "Asterisks",Space,Str "loose",Str ":"]
,BulletList
 [[Para [Str "asterisk",Space,Str "1"]]
 ,[Para [Str "asterisk",Space,Str "2"]]
 ,[Para [Str "asterisk",Space,Str "3"]]]
,Para [Str "Pluses",Space,Str "tight",Str ":"]
,BulletList
 [[Plain [Str "Plus",Space,Str "1"]]
 ,[Plain [Str "Plus",Space,Str "2"]]
 ,[Plain [Str "Plus",Space,Str "3"]]]
,Para [Str "Pluses",Space,Str "loose",Str ":"]
,BulletList
 [[Para [Str "Plus",Space,Str "1"]]
 ,[Para [Str "Plus",Space,Str "2"]]
 ,[Para [Str "Plus",Space,Str "3"]]]
,Para [Str "Minuses",Space,Str "tight",Str ":"]
,BulletList
 [[Plain [Str "Minus",Space,Str "1"]]
 ,[Plain [Str "Minus",Space,Str "2"]]
 ,[Plain [Str "Minus",Space,Str "3"]]]
,Para [Str "Minuses",Space,Str "loose",Str ":"]
,BulletList
 [[Para [Str "Minus",Space,Str "1"]]
 ,[Para [Str "Minus",Space,Str "2"]]
 ,[Para [Str "Minus",Space,Str "3"]]]
,Header 2 [Str "Ordered"]
,Para [Str "Tight",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Plain [Str "First"]]
 ,[Plain [Str "Second"]]
 ,[Plain [Str "Third"]]]
,Para [Str "and",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Plain [Str "One"]]
 ,[Plain [Str "Two"]]
 ,[Plain [Str "Three"]]]
,Para [Str "Loose",Space,Str "using",Space,Str "tabs",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Para [Str "First"]]
 ,[Para [Str "Second"]]
 ,[Para [Str "Third"]]]
,Para [Str "and",Space,Str "using",Space,Str "spaces",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Para [Str "One"]]
 ,[Para [Str "Two"]]
 ,[Para [Str "Three"]]]
,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
  ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
 ,[Para [Str "Item",Space,Str "2",Str "."]]
 ,[Para [Str "Item",Space,Str "3",Str "."]]]
,Header 2 [Str "Nested"]
,BulletList
 [[Plain [Str "Tab"]
  ,BulletList
   [[Plain [Str "Tab"]
    ,BulletList
     [[Plain [Str "Tab"]]]]]]]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Plain [Str "First"]]
 ,[Plain [Str "Second",Str ":"]
  ,BulletList
   [[Plain [Str "Fee"]]
   ,[Plain [Str "Fie"]]
   ,[Plain [Str "Foe"]]]]
 ,[Plain [Str "Third"]]]
,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs",Str ":"]
,OrderedList (1,Decimal,Period)
 [[Para [Str "First"]]
 ,[Para [Str "Second",Str ":"]
  ,BulletList
   [[Plain [Str "Fee"]]
   ,[Plain [Str "Fie"]]
   ,[Plain [Str "Foe"]]]]
 ,[Para [Str "Third"]]]
,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
,BulletList
 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
  ,BulletList
   [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
   ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]]
,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
,OrderedList (2,Decimal,TwoParens)
 [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
  ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
  ,OrderedList (4,LowerRoman,Period)
   [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals",Str ",",Space,Str "starting",Space,Str "with",Space,Str "4"]]
   ,[Plain [Str "more",Space,Str "items"]
    ,OrderedList (1,UpperAlpha,TwoParens)
     [[Plain [Str "a",Space,Str "subsublist"]]
     ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
,Para [Str "Nesting",Str ":"]
,OrderedList (1,UpperAlpha,Period)
 [[Plain [Str "Upper",Space,Str "Alpha"]
  ,OrderedList (1,UpperRoman,Period)
   [[Plain [Str "Upper",Space,Str "Roman",Str "."]
    ,OrderedList (6,Decimal,TwoParens)
     [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
      ,OrderedList (3,LowerAlpha,OneParen)
       [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
,Para [Str "Autonumbering",Str ":"]
,OrderedList (1,DefaultStyle,DefaultDelim)
 [[Plain [Str "Autonumber",Str "."]]
 ,[Plain [Str "More",Str "."]
  ,OrderedList (1,DefaultStyle,DefaultDelim)
   [[Plain [Str "Nested",Str "."]]]]]
,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item",Str ":"]
,Para [Str "M.A.\160",Str "2007"]
,Para [Str "B",Str ".",Space,Str "Williams"]
,HorizontalRule
,Header 1 [Str "Definition",Space,Str "Lists"]
,Para [Str "Tight",Space,Str "using",Space,Str "spaces",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Plain [Str "red",Space,Str "fruit"]]])
 ,([Str "orange"],
   [[Plain [Str "orange",Space,Str "fruit"]]])
 ,([Str "banana"],
   [[Plain [Str "yellow",Space,Str "fruit"]]])]
,Para [Str "Tight",Space,Str "using",Space,Str "tabs",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Plain [Str "red",Space,Str "fruit"]]])
 ,([Str "orange"],
   [[Plain [Str "orange",Space,Str "fruit"]]])
 ,([Str "banana"],
   [[Plain [Str "yellow",Space,Str "fruit"]]])]
,Para [Str "Loose",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Para [Str "red",Space,Str "fruit"]]])
 ,([Str "orange"],
   [[Para [Str "orange",Space,Str "fruit"]]])
 ,([Str "banana"],
   [[Para [Str "yellow",Space,Str "fruit"]]])]
,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics",Str ":"]
,DefinitionList
 [([Emph [Str "apple"]],
   [[Para [Str "red",Space,Str "fruit"]
    ,Para [Str "contains",Space,Str "seeds",Str ",",Space,Str "crisp",Str ",",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]])
 ,([Emph [Str "orange"]],
   [[Para [Str "orange",Space,Str "fruit"]
    ,CodeBlock ("",[],[]) "{ orange code block }"
    ,BlockQuote
     [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "tight",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Plain [Str "red",Space,Str "fruit"]]
   ,[Plain [Str "computer"]]])
 ,([Str "orange"],
   [[Plain [Str "orange",Space,Str "fruit"]]
   ,[Plain [Str "bank"]]])]
,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "loose",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Para [Str "red",Space,Str "fruit"]]
   ,[Para [Str "computer"]]])
 ,([Str "orange"],
   [[Para [Str "orange",Space,Str "fruit"]]
   ,[Para [Str "bank"]]])]
,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term",Str ",",Space,Str "indented",Space,Str "marker",Str ",",Space,Str "alternate",Space,Str "markers",Str ":"]
,DefinitionList
 [([Str "apple"],
   [[Para [Str "red",Space,Str "fruit"]]
   ,[Para [Str "computer"]]])
 ,([Str "orange"],
   [[Para [Str "orange",Space,Str "fruit"]
    ,OrderedList (1,Decimal,Period)
     [[Plain [Str "sublist"]]
     ,[Plain [Str "sublist"]]]]])]
,Header 1 [Str "HTML",Space,Str "Blocks"]
,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
,RawHtml "<div>"
,Plain [Str "foo"]
,RawHtml "</div>\n"
,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation",Str ":"]
,RawHtml "<div>\n<div>\n<div>"
,Plain [Str "foo"]
,RawHtml "</div>\n</div>\n<div>"
,Plain [Str "bar"]
,RawHtml "</div>\n</div>\n"
,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table",Str ":"]
,RawHtml "<table>\n<tr>\n<td>"
,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
,RawHtml "</td>\n<td>"
,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
,RawHtml "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
,RawHtml "<div>\n    "
,Plain [Str "foo"]
,RawHtml "</div>\n"
,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block",Str ",",Space,Str "though",Str ":"]
,CodeBlock ("",[],[]) "<div>\n    foo\n</div>"
,Para [Str "As",Space,Str "should",Space,Str "this",Str ":"]
,CodeBlock ("",[],[]) "<div>foo</div>"
,Para [Str "Now",Str ",",Space,Str "nested",Str ":"]
,RawHtml "<div>\n    <div>\n        <div>\n            "
,Plain [Str "foo"]
,RawHtml "</div>\n    </div>\n</div>\n"
,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment",Str ":"]
,RawHtml "<!-- Comment -->\n"
,Para [Str "Multiline",Str ":"]
,RawHtml "<!--\nBlah\nBlah\n-->\n\n<!--\n    This is another comment.\n-->\n"
,Para [Str "Code",Space,Str "block",Str ":"]
,CodeBlock ("",[],[]) "<!-- Comment -->"
,Para [Str "Just",Space,Str "plain",Space,Str "comment",Str ",",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line",Str ":"]
,RawHtml "<!-- foo -->   \n"
,Para [Str "Code",Str ":"]
,CodeBlock ("",[],[]) "<hr />"
,Para [Str "Hr",Apostrophe,Str "s",Str ":"]
,RawHtml "<hr>\n\n<hr />\n\n<hr />\n\n<hr>   \n\n<hr />  \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
,HorizontalRule
,Header 1 [Str "Inline",Space,Str "Markup"]
,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
,Para [Str "This",Space,Str "is",Space,Str "code",Str ":",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Str "\160",Str "there"],Str "."]
,Para [Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Str "\160",Str "of",Str "\160",Str "them"],Str "O",Str "."]
,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts",Str ",",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces",Str ":",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d",Str ",",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d",Str "."]
,HorizontalRule
,Header 1 [Str "Smart",Space,Str "quotes",Str ",",Space,Str "ellipses",Str ",",Space,Str "dashes"]
,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s",Str "?"]
,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",EnDash,Str "7",Str ",",Space,Str "255",EnDash,Str "66",Str ",",Space,Str "1987",EnDash,Str "1999",Str "."]
,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
,HorizontalRule
,Header 1 [Str "LaTeX"]
,BulletList
 [[Plain [TeX "\\cite[22-23]{smith.1899}"]]
 ,[Plain [Math InlineMath "2+2=4"]]
 ,[Plain [Math InlineMath "x \\in y"]]
 ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
 ,[Plain [Math InlineMath "223"]]
 ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
 ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
 ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math",Str ":"]
,BulletList
 [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code "$e = mc^2$",Str "."]]
 ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
 ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
 ,[Plain [Str "Escaped",Space,Code "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
,Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog    & 2      \\\\\nCat    & 1      \\\\ \\hline\n\\end{tabular}"]
,HorizontalRule
,Header 1 [Str "Special",Space,Str "Characters"]
,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode",Str ":"]
,BulletList
 [[Plain [Str "I",Space,Str "hat",Str ":",Space,Str "\206"]]
 ,[Plain [Str "o",Space,Str "umlaut",Str ":",Space,Str "\246"]]
 ,[Plain [Str "section",Str ":",Space,Str "\167"]]
 ,[Plain [Str "set",Space,Str "membership",Str ":",Space,Str "\8712"]]
 ,[Plain [Str "copyright",Str ":",Space,Str "\169"]]]
,Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
,Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
,Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
,Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
,Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
,Para [Str "Backslash",Str ":",Space,Str "\\"]
,Para [Str "Backtick",Str ":",Space,Str "`"]
,Para [Str "Asterisk",Str ":",Space,Str "*"]
,Para [Str "Underscore",Str ":",Space,Str "_"]
,Para [Str "Left",Space,Str "brace",Str ":",Space,Str "{"]
,Para [Str "Right",Space,Str "brace",Str ":",Space,Str "}"]
,Para [Str "Left",Space,Str "bracket",Str ":",Space,Str "["]
,Para [Str "Right",Space,Str "bracket",Str ":",Space,Str "]"]
,Para [Str "Left",Space,Str "paren",Str ":",Space,Str "("]
,Para [Str "Right",Space,Str "paren",Str ":",Space,Str ")"]
,Para [Str "Greater",Str "-",Str "than",Str ":",Space,Str ">"]
,Para [Str "Hash",Str ":",Space,Str "#"]
,Para [Str "Period",Str ":",Space,Str "."]
,Para [Str "Bang",Str ":",Space,Str "!"]
,Para [Str "Plus",Str ":",Space,Str "+"]
,Para [Str "Minus",Str ":",Space,Str "-"]
,HorizontalRule
,Header 1 [Str "Links"]
,Header 2 [Str "Explicit"]
,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
,Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
,Para [Link [Str "Empty"] ("",""),Str "."]
,Header 2 [Str "Reference"]
,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
,Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
,Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
,CodeBlock ("",[],[]) "[not]: /url"
,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
,Header 2 [Str "With",Space,Str "ampersands"]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
,Header 2 [Str "Autolinks"]
,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
,BulletList
 [[Plain [Str "In",Space,Str "a",Space,Str "list",Str "?"]]
 ,[Plain [Link [Code "http://example.com/"] ("http://example.com/","")]]
 ,[Plain [Str "It",Space,Str "should",Str "."]]]
,Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address",Str ":",Space,Link [Code "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
,BlockQuote
 [Para [Str "Blockquoted",Str ":",Space,Link [Code "http://example.com/"] ("http://example.com/","")]]
,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here",Str ":",Space,Code "<http://example.com/>"]
,CodeBlock ("",[],[]) "or here: <http://example.com/>"
,HorizontalRule
,Header 1 [Str "Images"]
,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(",Str "1902",Str ")",Str ":"]
,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
,HorizontalRule
,Header 1 [Str "Footnotes"]
,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) "  { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
,BlockQuote
 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
,OrderedList (1,Decimal,Period)
 [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items",Str ".",Note [Para [Str "In",Space,Str "list",Str "."]]]]]
,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note",Str ",",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented",Str "."]]