git.iko.soy/typeable/pandoc
on master help sign in
Added docbook reader tests (still failing).
commitc20c139255a83e1dcaf1d923375b3759614adaf3 authorJohn MacFarlane <fiddlosopher@gmail.com> dateTue 8 May 2012, 20:26 (14 years ago) parentb79df94
3 files changed+2380−1
src/Tests/Old.hs+6−1 tests/docbook-reader.docbook+1876 tests/docbook-reader.native+498
src/Tests/Old.hs+6−1
@@ -97,13 +97,18 @@ tests = [ testGroup "markdown"
9797 , test "reader" ["-r", "textile", "-w", "native", "-s"]
9898 "textile-reader.textile" "textile-reader.native"
9999 ]
100+ , testGroup "docbook"
101+ [ testGroup "writer" $ writerTests "docbook"
102+ , test "reader" ["-r", "docbook", "-w", "native", "-s"]
103+ "docbook-reader.docbook" "docbook-reader.native"
104+ ]
100105 , testGroup "native"
101106 [ testGroup "writer" $ writerTests "native"
102107 , test "reader" ["-r", "native", "-w", "native", "-s"]
103108 "testsuite.native" "testsuite.native"
104109 ]
105110 , testGroup "other writers" $ map (\f -> testGroup f $ writerTests f)
106− [ "docbook", "opendocument" , "context" , "texinfo"
111+ [ "opendocument" , "context" , "texinfo"
107112 , "man" , "plain" , "mediawiki", "rtf", "org", "asciidoc"
108113 ]
109114 ]
tests/docbook-reader.docbooknew file+1876
@@ -0,0 +1,1876 @@
1+<?xml version="1.0" encoding="utf-8" ?>
2+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
4+<article>
5+ <articleinfo>
6+ <title>Pandoc Test Suite</title>
7+ <author>
8+ <firstname>John</firstname>
9+ <surname>MacFarlane</surname>
10+ </author>
11+ <author>
12+ <firstname></firstname>
13+ <surname>Anonymous</surname>
14+ </author>
15+ <date>July 17, 2006</date>
16+ </articleinfo>
17+<para>
18+ This is a set of tests for pandoc. Most of them are adapted from John
19+ Gruber’s markdown test suite.
20+</para>
21+<sect1 id="headers">
22+ <title>Headers</title>
23+ <sect2 id="level-2-with-an-embedded-link">
24+ <title>Level 2 with an <ulink url="/url">embedded link</ulink></title>
25+ <sect3 id="level-3-with-emphasis">
26+ <title>Level 3 with <emphasis>emphasis</emphasis></title>
27+ <sect4 id="level-4">
28+ <title>Level 4</title>
29+ <sect5 id="level-5">
30+ <title>Level 5</title>
31+ <para>
32+ </para>
33+ </sect5>
34+ </sect4>
35+ </sect3>
36+ </sect2>
37+</sect1>
38+<sect1 id="level-1">
39+ <title>Level 1</title>
40+ <sect2 id="level-2-with-emphasis">
41+ <title>Level 2 with <emphasis>emphasis</emphasis></title>
42+ <sect3 id="level-3">
43+ <title>Level 3</title>
44+ <para>
45+ with no blank line
46+ </para>
47+ </sect3>
48+ </sect2>
49+ <sect2 id="level-2">
50+ <title>Level 2</title>
51+ <para>
52+ with no blank line
53+ </para>
54+ </sect2>
55+</sect1>
56+<sect1 id="paragraphs">
57+ <title>Paragraphs</title>
58+ <para>
59+ Here’s a regular paragraph.
60+ </para>
61+ <para>
62+ In Markdown 1.0.0 and earlier. Version 8. This line turns into a list
63+ item. Because a hard-wrapped line in the middle of a paragraph looked like
64+ a list item.
65+ </para>
66+ <para>
67+ Here’s one with a bullet. * criminey.
68+ </para>
69+ <para>
70+ There should be a hard line break<literallayout></literallayout>here.
71+ </para>
72+</sect1>
73+<sect1 id="block-quotes">
74+ <title>Block Quotes</title>
75+ <para>
76+ E-mail style:
77+ </para>
78+ <blockquote>
79+ <para>
80+ This is a block quote. It is pretty short.
81+ </para>
82+ </blockquote>
83+ <blockquote>
84+ <para>
85+ Code in a block quote:
86+ </para>
87+ <programlisting>
88+sub status {
89+ print &quot;working&quot;;
90+}
91+</programlisting>
92+ <para>
93+ A list:
94+ </para>
95+ <orderedlist numeration="arabic">
96+ <listitem>
97+ <para>
98+ item one
99+ </para>
100+ </listitem>
101+ <listitem>
102+ <para>
103+ item two
104+ </para>
105+ </listitem>
106+ </orderedlist>
107+ <para>
108+ Nested block quotes:
109+ </para>
110+ <blockquote>
111+ <para>
112+ nested
113+ </para>
114+ </blockquote>
115+ <blockquote>
116+ <para>
117+ nested
118+ </para>
119+ </blockquote>
120+ </blockquote>
121+ <para>
122+ This should not be a block quote: 2 &gt; 1.
123+ </para>
124+ <para>
125+ And a following paragraph.
126+ </para>
127+</sect1>
128+<sect1 id="code-blocks">
129+ <title>Code Blocks</title>
130+ <para>
131+ Code:
132+ </para>
133+ <programlisting>
134+---- (should be four hyphens)
135+
136+sub status {
137+ print &quot;working&quot;;
138+}
139+
140+this code block is indented by one tab
141+</programlisting>
142+ <para>
143+ And:
144+ </para>
145+ <programlisting>
146+ this code block is indented by two tabs
147+
148+These should not be escaped: \$ \\ \&gt; \[ \{
149+</programlisting>
150+</sect1>
151+<sect1 id="lists">
152+ <title>Lists</title>
153+ <sect2 id="unordered">
154+ <title>Unordered</title>
155+ <para>
156+ Asterisks tight:
157+ </para>
158+ <itemizedlist>
159+ <listitem>
160+ <para>
161+ asterisk 1
162+ </para>
163+ </listitem>
164+ <listitem>
165+ <para>
166+ asterisk 2
167+ </para>
168+ </listitem>
169+ <listitem>
170+ <para>
171+ asterisk 3
172+ </para>
173+ </listitem>
174+ </itemizedlist>
175+ <para>
176+ Asterisks loose:
177+ </para>
178+ <itemizedlist>
179+ <listitem>
180+ <para>
181+ asterisk 1
182+ </para>
183+ </listitem>
184+ <listitem>
185+ <para>
186+ asterisk 2
187+ </para>
188+ </listitem>
189+ <listitem>
190+ <para>
191+ asterisk 3
192+ </para>
193+ </listitem>
194+ </itemizedlist>
195+ <para>
196+ Pluses tight:
197+ </para>
198+ <itemizedlist>
199+ <listitem>
200+ <para>
201+ Plus 1
202+ </para>
203+ </listitem>
204+ <listitem>
205+ <para>
206+ Plus 2
207+ </para>
208+ </listitem>
209+ <listitem>
210+ <para>
211+ Plus 3
212+ </para>
213+ </listitem>
214+ </itemizedlist>
215+ <para>
216+ Pluses loose:
217+ </para>
218+ <itemizedlist>
219+ <listitem>
220+ <para>
221+ Plus 1
222+ </para>
223+ </listitem>
224+ <listitem>
225+ <para>
226+ Plus 2
227+ </para>
228+ </listitem>
229+ <listitem>
230+ <para>
231+ Plus 3
232+ </para>
233+ </listitem>
234+ </itemizedlist>
235+ <para>
236+ Minuses tight:
237+ </para>
238+ <itemizedlist>
239+ <listitem>
240+ <para>
241+ Minus 1
242+ </para>
243+ </listitem>
244+ <listitem>
245+ <para>
246+ Minus 2
247+ </para>
248+ </listitem>
249+ <listitem>
250+ <para>
251+ Minus 3
252+ </para>
253+ </listitem>
254+ </itemizedlist>
255+ <para>
256+ Minuses loose:
257+ </para>
258+ <itemizedlist>
259+ <listitem>
260+ <para>
261+ Minus 1
262+ </para>
263+ </listitem>
264+ <listitem>
265+ <para>
266+ Minus 2
267+ </para>
268+ </listitem>
269+ <listitem>
270+ <para>
271+ Minus 3
272+ </para>
273+ </listitem>
274+ </itemizedlist>
275+ </sect2>
276+ <sect2 id="ordered">
277+ <title>Ordered</title>
278+ <para>
279+ Tight:
280+ </para>
281+ <orderedlist numeration="arabic">
282+ <listitem>
283+ <para>
284+ First
285+ </para>
286+ </listitem>
287+ <listitem>
288+ <para>
289+ Second
290+ </para>
291+ </listitem>
292+ <listitem>
293+ <para>
294+ Third
295+ </para>
296+ </listitem>
297+ </orderedlist>
298+ <para>
299+ and:
300+ </para>
301+ <orderedlist numeration="arabic">
302+ <listitem>
303+ <para>
304+ One
305+ </para>
306+ </listitem>
307+ <listitem>
308+ <para>
309+ Two
310+ </para>
311+ </listitem>
312+ <listitem>
313+ <para>
314+ Three
315+ </para>
316+ </listitem>
317+ </orderedlist>
318+ <para>
319+ Loose using tabs:
320+ </para>
321+ <orderedlist numeration="arabic">
322+ <listitem>
323+ <para>
324+ First
325+ </para>
326+ </listitem>
327+ <listitem>
328+ <para>
329+ Second
330+ </para>
331+ </listitem>
332+ <listitem>
333+ <para>
334+ Third
335+ </para>
336+ </listitem>
337+ </orderedlist>
338+ <para>
339+ and using spaces:
340+ </para>
341+ <orderedlist numeration="arabic">
342+ <listitem>
343+ <para>
344+ One
345+ </para>
346+ </listitem>
347+ <listitem>
348+ <para>
349+ Two
350+ </para>
351+ </listitem>
352+ <listitem>
353+ <para>
354+ Three
355+ </para>
356+ </listitem>
357+ </orderedlist>
358+ <para>
359+ Multiple paragraphs:
360+ </para>
361+ <orderedlist numeration="arabic">
362+ <listitem>
363+ <para>
364+ Item 1, graf one.
365+ </para>
366+ <para>
367+ Item 1. graf two. The quick brown fox jumped over the lazy dog’s
368+ back.
369+ </para>
370+ </listitem>
371+ <listitem>
372+ <para>
373+ Item 2.
374+ </para>
375+ </listitem>
376+ <listitem>
377+ <para>
378+ Item 3.
379+ </para>
380+ </listitem>
381+ </orderedlist>
382+ </sect2>
383+ <sect2 id="nested">
384+ <title>Nested</title>
385+ <itemizedlist>
386+ <listitem>
387+ <para>
388+ Tab
389+ </para>
390+ <itemizedlist>
391+ <listitem>
392+ <para>
393+ Tab
394+ </para>
395+ <itemizedlist>
396+ <listitem>
397+ <para>
398+ Tab
399+ </para>
400+ </listitem>
401+ </itemizedlist>
402+ </listitem>
403+ </itemizedlist>
404+ </listitem>
405+ </itemizedlist>
406+ <para>
407+ Here’s another:
408+ </para>
409+ <orderedlist numeration="arabic">
410+ <listitem>
411+ <para>
412+ First
413+ </para>
414+ </listitem>
415+ <listitem>
416+ <para>
417+ Second:
418+ </para>
419+ <itemizedlist>
420+ <listitem>
421+ <para>
422+ Fee
423+ </para>
424+ </listitem>
425+ <listitem>
426+ <para>
427+ Fie
428+ </para>
429+ </listitem>
430+ <listitem>
431+ <para>
432+ Foe
433+ </para>
434+ </listitem>
435+ </itemizedlist>
436+ </listitem>
437+ <listitem>
438+ <para>
439+ Third
440+ </para>
441+ </listitem>
442+ </orderedlist>
443+ <para>
444+ Same thing but with paragraphs:
445+ </para>
446+ <orderedlist numeration="arabic">
447+ <listitem>
448+ <para>
449+ First
450+ </para>
451+ </listitem>
452+ <listitem>
453+ <para>
454+ Second:
455+ </para>
456+ <itemizedlist>
457+ <listitem>
458+ <para>
459+ Fee
460+ </para>
461+ </listitem>
462+ <listitem>
463+ <para>
464+ Fie
465+ </para>
466+ </listitem>
467+ <listitem>
468+ <para>
469+ Foe
470+ </para>
471+ </listitem>
472+ </itemizedlist>
473+ </listitem>
474+ <listitem>
475+ <para>
476+ Third
477+ </para>
478+ </listitem>
479+ </orderedlist>
480+ </sect2>
481+ <sect2 id="tabs-and-spaces">
482+ <title>Tabs and spaces</title>
483+ <itemizedlist>
484+ <listitem>
485+ <para>
486+ this is a list item indented with tabs
487+ </para>
488+ </listitem>
489+ <listitem>
490+ <para>
491+ this is a list item indented with spaces
492+ </para>
493+ <itemizedlist>
494+ <listitem>
495+ <para>
496+ this is an example list item indented with tabs
497+ </para>
498+ </listitem>
499+ <listitem>
500+ <para>
501+ this is an example list item indented with spaces
502+ </para>
503+ </listitem>
504+ </itemizedlist>
505+ </listitem>
506+ </itemizedlist>
507+ </sect2>
508+ <sect2 id="fancy-list-markers">
509+ <title>Fancy list markers</title>
510+ <orderedlist numeration="arabic">
511+ <listitem override="2">
512+ <para>
513+ begins with 2
514+ </para>
515+ </listitem>
516+ <listitem>
517+ <para>
518+ and now 3
519+ </para>
520+ <para>
521+ with a continuation
522+ </para>
523+ <orderedlist numeration="lowerroman">
524+ <listitem override="4">
525+ <para>
526+ sublist with roman numerals, starting with 4
527+ </para>
528+ </listitem>
529+ <listitem>
530+ <para>
531+ more items
532+ </para>
533+ <orderedlist numeration="upperalpha">
534+ <listitem>
535+ <para>
536+ a subsublist
537+ </para>
538+ </listitem>
539+ <listitem>
540+ <para>
541+ a subsublist
542+ </para>
543+ </listitem>
544+ </orderedlist>
545+ </listitem>
546+ </orderedlist>
547+ </listitem>
548+ </orderedlist>
549+ <para>
550+ Nesting:
551+ </para>
552+ <orderedlist numeration="upperalpha">
553+ <listitem>
554+ <para>
555+ Upper Alpha
556+ </para>
557+ <orderedlist numeration="upperroman">
558+ <listitem>
559+ <para>
560+ Upper Roman.
561+ </para>
562+ <orderedlist numeration="arabic">
563+ <listitem override="6">
564+ <para>
565+ Decimal start with 6
566+ </para>
567+ <orderedlist numeration="loweralpha">
568+ <listitem override="3">
569+ <para>
570+ Lower alpha with paren
571+ </para>
572+ </listitem>
573+ </orderedlist>
574+ </listitem>
575+ </orderedlist>
576+ </listitem>
577+ </orderedlist>
578+ </listitem>
579+ </orderedlist>
580+ <para>
581+ Autonumbering:
582+ </para>
583+ <orderedlist>
584+ <listitem>
585+ <para>
586+ Autonumber.
587+ </para>
588+ </listitem>
589+ <listitem>
590+ <para>
591+ More.
592+ </para>
593+ <orderedlist>
594+ <listitem>
595+ <para>
596+ Nested.
597+ </para>
598+ </listitem>
599+ </orderedlist>
600+ </listitem>
601+ </orderedlist>
602+ <para>
603+ Should not be a list item:
604+ </para>
605+ <para>
606+ M.A. 2007
607+ </para>
608+ <para>
609+ B. Williams
610+ </para>
611+ </sect2>
612+</sect1>
613+<sect1 id="definition-lists">
614+ <title>Definition Lists</title>
615+ <para>
616+ Tight using spaces:
617+ </para>
618+ <variablelist>
619+ <varlistentry>
620+ <term>
621+ apple
622+ </term>
623+ <listitem>
624+ <para>
625+ red fruit
626+ </para>
627+ </listitem>
628+ </varlistentry>
629+ <varlistentry>
630+ <term>
631+ orange
632+ </term>
633+ <listitem>
634+ <para>
635+ orange fruit
636+ </para>
637+ </listitem>
638+ </varlistentry>
639+ <varlistentry>
640+ <term>
641+ banana
642+ </term>
643+ <listitem>
644+ <para>
645+ yellow fruit
646+ </para>
647+ </listitem>
648+ </varlistentry>
649+ </variablelist>
650+ <para>
651+ Tight using tabs:
652+ </para>
653+ <variablelist>
654+ <varlistentry>
655+ <term>
656+ apple
657+ </term>
658+ <listitem>
659+ <para>
660+ red fruit
661+ </para>
662+ </listitem>
663+ </varlistentry>
664+ <varlistentry>
665+ <term>
666+ orange
667+ </term>
668+ <listitem>
669+ <para>
670+ orange fruit
671+ </para>
672+ </listitem>
673+ </varlistentry>
674+ <varlistentry>
675+ <term>
676+ banana
677+ </term>
678+ <listitem>
679+ <para>
680+ yellow fruit
681+ </para>
682+ </listitem>
683+ </varlistentry>
684+ </variablelist>
685+ <para>
686+ Loose:
687+ </para>
688+ <variablelist>
689+ <varlistentry>
690+ <term>
691+ apple
692+ </term>
693+ <listitem>
694+ <para>
695+ red fruit
696+ </para>
697+ </listitem>
698+ </varlistentry>
699+ <varlistentry>
700+ <term>
701+ orange
702+ </term>
703+ <listitem>
704+ <para>
705+ orange fruit
706+ </para>
707+ </listitem>
708+ </varlistentry>
709+ <varlistentry>
710+ <term>
711+ banana
712+ </term>
713+ <listitem>
714+ <para>
715+ yellow fruit
716+ </para>
717+ </listitem>
718+ </varlistentry>
719+ </variablelist>
720+ <para>
721+ Multiple blocks with italics:
722+ </para>
723+ <variablelist>
724+ <varlistentry>
725+ <term>
726+ <emphasis>apple</emphasis>
727+ </term>
728+ <listitem>
729+ <para>
730+ red fruit
731+ </para>
732+ <para>
733+ contains seeds, crisp, pleasant to taste
734+ </para>
735+ </listitem>
736+ </varlistentry>
737+ <varlistentry>
738+ <term>
739+ <emphasis>orange</emphasis>
740+ </term>
741+ <listitem>
742+ <para>
743+ orange fruit
744+ </para>
745+ <programlisting>
746+{ orange code block }
747+</programlisting>
748+ <blockquote>
749+ <para>
750+ orange block quote
751+ </para>
752+ </blockquote>
753+ </listitem>
754+ </varlistentry>
755+ </variablelist>
756+ <para>
757+ Multiple definitions, tight:
758+ </para>
759+ <variablelist>
760+ <varlistentry>
761+ <term>
762+ apple
763+ </term>
764+ <listitem>
765+ <para>
766+ red fruit
767+ </para>
768+ <para>
769+ computer
770+ </para>
771+ </listitem>
772+ </varlistentry>
773+ <varlistentry>
774+ <term>
775+ orange
776+ </term>
777+ <listitem>
778+ <para>
779+ orange fruit
780+ </para>
781+ <para>
782+ bank
783+ </para>
784+ </listitem>
785+ </varlistentry>
786+ </variablelist>
787+ <para>
788+ Multiple definitions, loose:
789+ </para>
790+ <variablelist>
791+ <varlistentry>
792+ <term>
793+ apple
794+ </term>
795+ <listitem>
796+ <para>
797+ red fruit
798+ </para>
799+ <para>
800+ computer
801+ </para>
802+ </listitem>
803+ </varlistentry>
804+ <varlistentry>
805+ <term>
806+ orange
807+ </term>
808+ <listitem>
809+ <para>
810+ orange fruit
811+ </para>
812+ <para>
813+ bank
814+ </para>
815+ </listitem>
816+ </varlistentry>
817+ </variablelist>
818+ <para>
819+ Blank line after term, indented marker, alternate markers:
820+ </para>
821+ <variablelist>
822+ <varlistentry>
823+ <term>
824+ apple
825+ </term>
826+ <listitem>
827+ <para>
828+ red fruit
829+ </para>
830+ <para>
831+ computer
832+ </para>
833+ </listitem>
834+ </varlistentry>
835+ <varlistentry>
836+ <term>
837+ orange
838+ </term>
839+ <listitem>
840+ <para>
841+ orange fruit
842+ </para>
843+ <orderedlist numeration="arabic">
844+ <listitem>
845+ <para>
846+ sublist
847+ </para>
848+ </listitem>
849+ <listitem>
850+ <para>
851+ sublist
852+ </para>
853+ </listitem>
854+ </orderedlist>
855+ </listitem>
856+ </varlistentry>
857+ </variablelist>
858+</sect1>
859+<sect1 id="html-blocks">
860+ <title>HTML Blocks</title>
861+ <para>
862+ Simple block on one line:
863+ </para>
864+ <div>
865+ foo
866+ </div>
867+ <para>
868+ And nested without indentation:
869+ </para>
870+ <div>
871+ <div>
872+ <div>
873+ foo
874+ </div>
875+ </div>
876+ <div>
877+ bar
878+ </div>
879+ </div>
880+ <para>
881+ Interpreted markdown in a table:
882+ </para>
883+ <table>
884+ <tr>
885+ <td>
886+ This is <emphasis>emphasized</emphasis>
887+ </td>
888+ <td>
889+ And this is <emphasis role="strong">strong</emphasis>
890+ </td>
891+ </tr>
892+ </table>
893+
894+ <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
895+ <para>
896+ Here’s a simple block:
897+ </para>
898+ <div>
899+
900+ foo
901+ </div>
902+ <para>
903+ This should be a code block, though:
904+ </para>
905+ <programlisting>
906+&lt;div&gt;
907+ foo
908+&lt;/div&gt;
909+</programlisting>
910+ <para>
911+ As should this:
912+ </para>
913+ <programlisting>
914+&lt;div&gt;foo&lt;/div&gt;
915+</programlisting>
916+ <para>
917+ Now, nested:
918+ </para>
919+ <div>
920+ <div>
921+ <div>
922+
923+ foo
924+ </div>
925+ </div>
926+ </div>
927+ <para>
928+ This should just be an HTML comment:
929+ </para>
930+ <!-- Comment -->
931+ <para>
932+ Multiline:
933+ </para>
934+ <!--
935+ Blah
936+ Blah
937+ -->
938+
939+ <!--
940+ This is another comment.
941+ -->
942+ <para>
943+ Code block:
944+ </para>
945+ <programlisting>
946+&lt;!-- Comment --&gt;
947+</programlisting>
948+ <para>
949+ Just plain comment, with trailing spaces on the line:
950+ </para>
951+ <!-- foo -->
952+ <para>
953+ Code:
954+ </para>
955+ <programlisting>
956+&lt;hr /&gt;
957+</programlisting>
958+ <para>
959+ Hr’s:
960+ </para>
961+ <hr>
962+
963+ <hr />
964+
965+ <hr />
966+
967+ <hr>
968+
969+ <hr />
970+
971+ <hr />
972+
973+ <hr class="foo" id="bar" />
974+
975+ <hr class="foo" id="bar" />
976+
977+ <hr class="foo" id="bar">
978+</sect1>
979+<sect1 id="inline-markup">
980+ <title>Inline Markup</title>
981+ <para>
982+ This is <emphasis>emphasized</emphasis>, and so <emphasis>is
983+ this</emphasis>.
984+ </para>
985+ <para>
986+ This is <emphasis role="strong">strong</emphasis>, and so
987+ <emphasis role="strong">is this</emphasis>.
988+ </para>
989+ <para>
990+ An <emphasis><ulink url="/url">emphasized link</ulink></emphasis>.
991+ </para>
992+ <para>
993+ <emphasis role="strong"><emphasis>This is strong and
994+ em.</emphasis></emphasis>
995+ </para>
996+ <para>
997+ So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word.
998+ </para>
999+ <para>
1000+ <emphasis role="strong"><emphasis>This is strong and
1001+ em.</emphasis></emphasis>
1002+ </para>
1003+ <para>
1004+ So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word.
1005+ </para>
1006+ <para>
1007+ This is code: <literal>&gt;</literal>, <literal>$</literal>,
1008+ <literal>\</literal>, <literal>\$</literal>,
1009+ <literal>&lt;html&gt;</literal>.
1010+ </para>
1011+ <para>
1012+ <emphasis role="strikethrough">This is
1013+ <emphasis>strikeout</emphasis>.</emphasis>
1014+ </para>
1015+ <para>
1016+ Superscripts: a<superscript>bc</superscript>d
1017+ a<superscript><emphasis>hello</emphasis></superscript>
1018+ a<superscript>hello there</superscript>.
1019+ </para>
1020+ <para>
1021+ Subscripts: H<subscript>2</subscript>O, H<subscript>23</subscript>O,
1022+ H<subscript>many of them</subscript>O.
1023+ </para>
1024+ <para>
1025+ These should not be superscripts or subscripts, because of the unescaped
1026+ spaces: a^b c^d, a~b c~d.
1027+ </para>
1028+</sect1>
1029+<sect1 id="smart-quotes-ellipses-dashes">
1030+ <title>Smart quotes, ellipses, dashes</title>
1031+ <para>
1032+ <quote>Hello,</quote> said the spider. <quote><quote>Shelob</quote> is my
1033+ name.</quote>
1034+ </para>
1035+ <para>
1036+ <quote>A</quote>, <quote>B</quote>, and <quote>C</quote> are letters.
1037+ </para>
1038+ <para>
1039+ <quote>Oak,</quote> <quote>elm,</quote> and <quote>beech</quote> are names
1040+ of trees. So is <quote>pine.</quote>
1041+ </para>
1042+ <para>
1043+ <quote>He said, <quote>I want to go.</quote></quote> Were you alive in the
1044+ 70’s?
1045+ </para>
1046+ <para>
1047+ Here is some quoted <quote><literal>code</literal></quote> and a
1048+ <quote><ulink url="http://example.com/?foo=1&amp;bar=2">quoted
1049+ link</ulink></quote>.
1050+ </para>
1051+ <para>
1052+ Some dashes: one—two — three—four — five.
1053+ </para>
1054+ <para>
1055+ Dashes between numbers: 5–7, 255–66, 1987–1999.
1056+ </para>
1057+ <para>
1058+ Ellipses…and…and….
1059+ </para>
1060+</sect1>
1061+<sect1 id="latex">
1062+ <title>LaTeX</title>
1063+ <itemizedlist>
1064+ <listitem>
1065+ <para>
1066+ </para>
1067+ </listitem>
1068+ <listitem>
1069+ <para>
1070+ 2 + 2 = 4
1071+ </para>
1072+ </listitem>
1073+ <listitem>
1074+ <para>
1075+ <emphasis>x</emphasis> ∈ <emphasis>y</emphasis>
1076+ </para>
1077+ </listitem>
1078+ <listitem>
1079+ <para>
1080+ <emphasis>α</emphasis> ∧ <emphasis>ω</emphasis>
1081+ </para>
1082+ </listitem>
1083+ <listitem>
1084+ <para>
1085+ 223
1086+ </para>
1087+ </listitem>
1088+ <listitem>
1089+ <para>
1090+ <emphasis>p</emphasis>-Tree
1091+ </para>
1092+ </listitem>
1093+ <listitem>
1094+ <para>
1095+ Here’s some display math:
1096+ $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
1097+ </para>
1098+ </listitem>
1099+ <listitem>
1100+ <para>
1101+ Here’s one that has a line break in it:
1102+ <emphasis>α</emphasis> + <emphasis>ω</emphasis> × <emphasis>x</emphasis><superscript>2</superscript>.
1103+ </para>
1104+ </listitem>
1105+ </itemizedlist>
1106+ <para>
1107+ These shouldn’t be math:
1108+ </para>
1109+ <itemizedlist>
1110+ <listitem>
1111+ <para>
1112+ To get the famous equation, write <literal>$e = mc^2$</literal>.
1113+ </para>
1114+ </listitem>
1115+ <listitem>
1116+ <para>
1117+ $22,000 is a <emphasis>lot</emphasis> of money. So is $34,000. (It
1118+ worked if <quote>lot</quote> is emphasized.)
1119+ </para>
1120+ </listitem>
1121+ <listitem>
1122+ <para>
1123+ Shoes ($20) and socks ($5).
1124+ </para>
1125+ </listitem>
1126+ <listitem>
1127+ <para>
1128+ Escaped <literal>$</literal>: $73 <emphasis>this should be
1129+ emphasized</emphasis> 23$.
1130+ </para>
1131+ </listitem>
1132+ </itemizedlist>
1133+ <para>
1134+ Here’s a LaTeX table:
1135+ </para>
1136+</sect1>
1137+<sect1 id="special-characters">
1138+ <title>Special Characters</title>
1139+ <para>
1140+ Here is some unicode:
1141+ </para>
1142+ <itemizedlist>
1143+ <listitem>
1144+ <para>
1145+ I hat: Î
1146+ </para>
1147+ </listitem>
1148+ <listitem>
1149+ <para>
1150+ o umlaut: ö
1151+ </para>
1152+ </listitem>
1153+ <listitem>
1154+ <para>
1155+ section: §
1156+ </para>
1157+ </listitem>
1158+ <listitem>
1159+ <para>
1160+ set membership: ∈
1161+ </para>
1162+ </listitem>
1163+ <listitem>
1164+ <para>
1165+ copyright: ©
1166+ </para>
1167+ </listitem>
1168+ </itemizedlist>
1169+ <para>
1170+ AT&amp;T has an ampersand in their name.
1171+ </para>
1172+ <para>
1173+ AT&amp;T is another way to write it.
1174+ </para>
1175+ <para>
1176+ This &amp; that.
1177+ </para>
1178+ <para>
1179+ 4 &lt; 5.
1180+ </para>
1181+ <para>
1182+ 6 &gt; 5.
1183+ </para>
1184+ <para>
1185+ Backslash: \
1186+ </para>
1187+ <para>
1188+ Backtick: `
1189+ </para>
1190+ <para>
1191+ Asterisk: *
1192+ </para>
1193+ <para>
1194+ Underscore: _
1195+ </para>
1196+ <para>
1197+ Left brace: {
1198+ </para>
1199+ <para>
1200+ Right brace: }
1201+ </para>
1202+ <para>
1203+ Left bracket: [
1204+ </para>
1205+ <para>
1206+ Right bracket: ]
1207+ </para>
1208+ <para>
1209+ Left paren: (
1210+ </para>
1211+ <para>
1212+ Right paren: )
1213+ </para>
1214+ <para>
1215+ Greater-than: &gt;
1216+ </para>
1217+ <para>
1218+ Hash: #
1219+ </para>
1220+ <para>
1221+ Period: .
1222+ </para>
1223+ <para>
1224+ Bang: !
1225+ </para>
1226+ <para>
1227+ Plus: +
1228+ </para>
1229+ <para>
1230+ Minus: -
1231+ </para>
1232+</sect1>
1233+<sect1 id="links">
1234+ <title>Links</title>
1235+ <sect2 id="explicit">
1236+ <title>Explicit</title>
1237+ <para>
1238+ Just a <ulink url="/url/">URL</ulink>.
1239+ </para>
1240+ <para>
1241+ <ulink url="/url/">URL and title</ulink>.
1242+ </para>
1243+ <para>
1244+ <ulink url="/url/">URL and title</ulink>.
1245+ </para>
1246+ <para>
1247+ <ulink url="/url/">URL and title</ulink>.
1248+ </para>
1249+ <para>
1250+ <ulink url="/url/">URL and title</ulink>
1251+ </para>
1252+ <para>
1253+ <ulink url="/url/">URL and title</ulink>
1254+ </para>
1255+ <para>
1256+ <ulink url="/url/with_underscore">with_underscore</ulink>
1257+ </para>
1258+ <para>
1259+ Email link (<email>nobody@nowhere.net</email>)
1260+ </para>
1261+ <para>
1262+ <ulink url="">Empty</ulink>.
1263+ </para>
1264+ </sect2>
1265+ <sect2 id="reference">
1266+ <title>Reference</title>
1267+ <para>
1268+ Foo <ulink url="/url/">bar</ulink>.
1269+ </para>
1270+ <para>
1271+ Foo <ulink url="/url/">bar</ulink>.
1272+ </para>
1273+ <para>
1274+ Foo <ulink url="/url/">bar</ulink>.
1275+ </para>
1276+ <para>
1277+ With <ulink url="/url/">embedded [brackets]</ulink>.
1278+ </para>
1279+ <para>
1280+ <ulink url="/url/">b</ulink> by itself should be a link.
1281+ </para>
1282+ <para>
1283+ Indented <ulink url="/url">once</ulink>.
1284+ </para>
1285+ <para>
1286+ Indented <ulink url="/url">twice</ulink>.
1287+ </para>
1288+ <para>
1289+ Indented <ulink url="/url">thrice</ulink>.
1290+ </para>
1291+ <para>
1292+ This should [not][] be a link.
1293+ </para>
1294+ <programlisting>
1295+[not]: /url
1296+</programlisting>
1297+ <para>
1298+ Foo <ulink url="/url/">bar</ulink>.
1299+ </para>
1300+ <para>
1301+ Foo <ulink url="/url/">biz</ulink>.
1302+ </para>
1303+ </sect2>
1304+ <sect2 id="with-ampersands">
1305+ <title>With ampersands</title>
1306+ <para>
1307+ Here’s a <ulink url="http://example.com/?foo=1&amp;bar=2">link with an
1308+ ampersand in the URL</ulink>.
1309+ </para>
1310+ <para>
1311+ Here’s a link with an amersand in the link text:
1312+ <ulink url="http://att.com/">AT&amp;T</ulink>.
1313+ </para>
1314+ <para>
1315+ Here’s an <ulink url="/script?foo=1&amp;bar=2">inline link</ulink>.
1316+ </para>
1317+ <para>
1318+ Here’s an <ulink url="/script?foo=1&amp;bar=2">inline link in pointy
1319+ braces</ulink>.
1320+ </para>
1321+ </sect2>
1322+ <sect2 id="autolinks">
1323+ <title>Autolinks</title>
1324+ <para>
1325+ With an ampersand:
1326+ <ulink url="http://example.com/?foo=1&amp;bar=2"><literal>http://example.com/?foo=1&amp;bar=2</literal></ulink>
1327+ </para>
1328+ <itemizedlist>
1329+ <listitem>
1330+ <para>
1331+ In a list?
1332+ </para>
1333+ </listitem>
1334+ <listitem>
1335+ <para>
1336+ <ulink url="http://example.com/"><literal>http://example.com/</literal></ulink>
1337+ </para>
1338+ </listitem>
1339+ <listitem>
1340+ <para>
1341+ It should.
1342+ </para>
1343+ </listitem>
1344+ </itemizedlist>
1345+ <para>
1346+ An e-mail address: <email>nobody@nowhere.net</email>
1347+ </para>
1348+ <blockquote>
1349+ <para>
1350+ Blockquoted:
1351+ <ulink url="http://example.com/"><literal>http://example.com/</literal></ulink>
1352+ </para>
1353+ </blockquote>
1354+ <para>
1355+ Auto-links should not occur here:
1356+ <literal>&lt;http://example.com/&gt;</literal>
1357+ </para>
1358+ <programlisting>
1359+or here: &lt;http://example.com/&gt;
1360+</programlisting>
1361+ </sect2>
1362+</sect1>
1363+<sect1 id="images">
1364+ <title>Images</title>
1365+ <para>
1366+ From <quote>Voyage dans la Lune</quote> by Georges Melies (1902):
1367+ </para>
1368+ <figure>
1369+ <title>lalune</title>
1370+ <mediaobject>
1371+ <imageobject>
1372+ <imagedata fileref="lalune.jpg" />
1373+ </imageobject>
1374+ <textobject><phrase>lalune</phrase></textobject>
1375+ </mediaobject>
1376+ </figure>
1377+ <para>
1378+ Here is a movie <inlinemediaobject>
1379+ <imageobject>
1380+ <imagedata fileref="movie.jpg" />
1381+ </imageobject>
1382+ </inlinemediaobject> icon.
1383+ </para>
1384+</sect1>
1385+<sect1 id="footnotes">
1386+ <title>Footnotes</title>
1387+ <para>
1388+ Here is a footnote reference,<footnote>
1389+ <para>
1390+ Here is the footnote. It can go anywhere after the footnote reference.
1391+ It need not be placed at the end of the document.
1392+ </para>
1393+ </footnote> and another.<footnote>
1394+ <para>
1395+ Here’s the long note. This one contains multiple blocks.
1396+ </para>
1397+ <para>
1398+ Subsequent blocks are indented to show that they belong to the
1399+ footnote (as with list items).
1400+ </para>
1401+ <programlisting>
1402+ { &lt;code&gt; }
1403+</programlisting>
1404+ <para>
1405+ If you want, you can indent every line, but you can also be lazy and
1406+ just indent the first line of each block.
1407+ </para>
1408+ </footnote> This should <emphasis>not</emphasis> be a footnote reference,
1409+ because it contains a space.[^my note] Here is an inline note.<footnote>
1410+ <para>
1411+ This is <emphasis>easier</emphasis> to type. Inline notes may contain
1412+ <ulink url="http://google.com">links</ulink> and <literal>]</literal>
1413+ verbatim characters, as well as [bracketed text].
1414+ </para>
1415+ </footnote>
1416+ </para>
1417+ <blockquote>
1418+ <para>
1419+ Notes can go in quotes.<footnote>
1420+ <para>
1421+ In quote.
1422+ </para>
1423+ </footnote>
1424+ </para>
1425+ </blockquote>
1426+ <orderedlist numeration="arabic">
1427+ <listitem>
1428+ <para>
1429+ And in list items.<footnote>
1430+ <para>
1431+ In list.
1432+ </para>
1433+ </footnote>
1434+ </para>
1435+ </listitem>
1436+ </orderedlist>
1437+ <para>
1438+ This paragraph should not be part of the note, as it is not indented.
1439+ </para>
1440+</sect1>
1441+<sect1 id="tables">
1442+ <title>Tables</title>
1443+ <para>
1444+ Simple table with caption:
1445+ </para>
1446+ <table>
1447+ <title>
1448+ Demonstration of simple table syntax.
1449+ </title>
1450+ <tgroup cols="4">
1451+ <colspec align="right" />
1452+ <colspec align="left" />
1453+ <colspec align="center" />
1454+ <colspec align="left" />
1455+ <thead>
1456+ <row>
1457+ <entry>
1458+ Right
1459+ </entry>
1460+ <entry>
1461+ Left
1462+ </entry>
1463+ <entry>
1464+ Center
1465+ </entry>
1466+ <entry>
1467+ Default
1468+ </entry>
1469+ </row>
1470+ </thead>
1471+ <tbody>
1472+ <row>
1473+ <entry>
1474+ 12
1475+ </entry>
1476+ <entry>
1477+ 12
1478+ </entry>
1479+ <entry>
1480+ 12
1481+ </entry>
1482+ <entry>
1483+ 12
1484+ </entry>
1485+ </row>
1486+ <row>
1487+ <entry>
1488+ 123
1489+ </entry>
1490+ <entry>
1491+ 123
1492+ </entry>
1493+ <entry>
1494+ 123
1495+ </entry>
1496+ <entry>
1497+ 123
1498+ </entry>
1499+ </row>
1500+ <row>
1501+ <entry>
1502+ 1
1503+ </entry>
1504+ <entry>
1505+ 1
1506+ </entry>
1507+ <entry>
1508+ 1
1509+ </entry>
1510+ <entry>
1511+ 1
1512+ </entry>
1513+ </row>
1514+ </tbody>
1515+ </tgroup>
1516+ </table>
1517+ <para>
1518+ Simple table without caption:
1519+ </para>
1520+ <informaltable>
1521+ <tgroup cols="4">
1522+ <colspec align="right" />
1523+ <colspec align="left" />
1524+ <colspec align="center" />
1525+ <colspec align="left" />
1526+ <thead>
1527+ <row>
1528+ <entry>
1529+ Right
1530+ </entry>
1531+ <entry>
1532+ Left
1533+ </entry>
1534+ <entry>
1535+ Center
1536+ </entry>
1537+ <entry>
1538+ Default
1539+ </entry>
1540+ </row>
1541+ </thead>
1542+ <tbody>
1543+ <row>
1544+ <entry>
1545+ 12
1546+ </entry>
1547+ <entry>
1548+ 12
1549+ </entry>
1550+ <entry>
1551+ 12
1552+ </entry>
1553+ <entry>
1554+ 12
1555+ </entry>
1556+ </row>
1557+ <row>
1558+ <entry>
1559+ 123
1560+ </entry>
1561+ <entry>
1562+ 123
1563+ </entry>
1564+ <entry>
1565+ 123
1566+ </entry>
1567+ <entry>
1568+ 123
1569+ </entry>
1570+ </row>
1571+ <row>
1572+ <entry>
1573+ 1
1574+ </entry>
1575+ <entry>
1576+ 1
1577+ </entry>
1578+ <entry>
1579+ 1
1580+ </entry>
1581+ <entry>
1582+ 1
1583+ </entry>
1584+ </row>
1585+ </tbody>
1586+ </tgroup>
1587+ </informaltable>
1588+ <para>
1589+ Simple table indented two spaces:
1590+ </para>
1591+ <table>
1592+ <title>
1593+ Demonstration of simple table syntax.
1594+ </title>
1595+ <tgroup cols="4">
1596+ <colspec align="right" />
1597+ <colspec align="left" />
1598+ <colspec align="center" />
1599+ <colspec align="left" />
1600+ <thead>
1601+ <row>
1602+ <entry>
1603+ Right
1604+ </entry>
1605+ <entry>
1606+ Left
1607+ </entry>
1608+ <entry>
1609+ Center
1610+ </entry>
1611+ <entry>
1612+ Default
1613+ </entry>
1614+ </row>
1615+ </thead>
1616+ <tbody>
1617+ <row>
1618+ <entry>
1619+ 12
1620+ </entry>
1621+ <entry>
1622+ 12
1623+ </entry>
1624+ <entry>
1625+ 12
1626+ </entry>
1627+ <entry>
1628+ 12
1629+ </entry>
1630+ </row>
1631+ <row>
1632+ <entry>
1633+ 123
1634+ </entry>
1635+ <entry>
1636+ 123
1637+ </entry>
1638+ <entry>
1639+ 123
1640+ </entry>
1641+ <entry>
1642+ 123
1643+ </entry>
1644+ </row>
1645+ <row>
1646+ <entry>
1647+ 1
1648+ </entry>
1649+ <entry>
1650+ 1
1651+ </entry>
1652+ <entry>
1653+ 1
1654+ </entry>
1655+ <entry>
1656+ 1
1657+ </entry>
1658+ </row>
1659+ </tbody>
1660+ </tgroup>
1661+ </table>
1662+ <para>
1663+ Multiline table with caption:
1664+ </para>
1665+ <table>
1666+ <title>
1667+ Here's the caption. It may span multiple lines.
1668+ </title>
1669+ <tgroup cols="4">
1670+ <colspec colwidth="15*" align="center" />
1671+ <colspec colwidth="13*" align="left" />
1672+ <colspec colwidth="16*" align="right" />
1673+ <colspec colwidth="33*" align="left" />
1674+ <thead>
1675+ <row>
1676+ <entry>
1677+ Centered Header
1678+ </entry>
1679+ <entry>
1680+ Left Aligned
1681+ </entry>
1682+ <entry>
1683+ Right Aligned
1684+ </entry>
1685+ <entry>
1686+ Default aligned
1687+ </entry>
1688+ </row>
1689+ </thead>
1690+ <tbody>
1691+ <row>
1692+ <entry>
1693+ First
1694+ </entry>
1695+ <entry>
1696+ row
1697+ </entry>
1698+ <entry>
1699+ 12.0
1700+ </entry>
1701+ <entry>
1702+ Example of a row that spans multiple lines.
1703+ </entry>
1704+ </row>
1705+ <row>
1706+ <entry>
1707+ Second
1708+ </entry>
1709+ <entry>
1710+ row
1711+ </entry>
1712+ <entry>
1713+ 5.0
1714+ </entry>
1715+ <entry>
1716+ Here's another one. Note the blank line between rows.
1717+ </entry>
1718+ </row>
1719+ </tbody>
1720+ </tgroup>
1721+ </table>
1722+ <para>
1723+ Multiline table without caption:
1724+ </para>
1725+ <informaltable>
1726+ <tgroup cols="4">
1727+ <colspec colwidth="15*" align="center" />
1728+ <colspec colwidth="13*" align="left" />
1729+ <colspec colwidth="16*" align="right" />
1730+ <colspec colwidth="33*" align="left" />
1731+ <thead>
1732+ <row>
1733+ <entry>
1734+ Centered Header
1735+ </entry>
1736+ <entry>
1737+ Left Aligned
1738+ </entry>
1739+ <entry>
1740+ Right Aligned
1741+ </entry>
1742+ <entry>
1743+ Default aligned
1744+ </entry>
1745+ </row>
1746+ </thead>
1747+ <tbody>
1748+ <row>
1749+ <entry>
1750+ First
1751+ </entry>
1752+ <entry>
1753+ row
1754+ </entry>
1755+ <entry>
1756+ 12.0
1757+ </entry>
1758+ <entry>
1759+ Example of a row that spans multiple lines.
1760+ </entry>
1761+ </row>
1762+ <row>
1763+ <entry>
1764+ Second
1765+ </entry>
1766+ <entry>
1767+ row
1768+ </entry>
1769+ <entry>
1770+ 5.0
1771+ </entry>
1772+ <entry>
1773+ Here's another one. Note the blank line between rows.
1774+ </entry>
1775+ </row>
1776+ </tbody>
1777+ </tgroup>
1778+ </informaltable>
1779+ <para>
1780+ Table without column headers:
1781+ </para>
1782+ <informaltable>
1783+ <tgroup cols="4">
1784+ <colspec align="right" />
1785+ <colspec align="left" />
1786+ <colspec align="center" />
1787+ <colspec align="right" />
1788+ <tbody>
1789+ <row>
1790+ <entry>
1791+ 12
1792+ </entry>
1793+ <entry>
1794+ 12
1795+ </entry>
1796+ <entry>
1797+ 12
1798+ </entry>
1799+ <entry>
1800+ 12
1801+ </entry>
1802+ </row>
1803+ <row>
1804+ <entry>
1805+ 123
1806+ </entry>
1807+ <entry>
1808+ 123
1809+ </entry>
1810+ <entry>
1811+ 123
1812+ </entry>
1813+ <entry>
1814+ 123
1815+ </entry>
1816+ </row>
1817+ <row>
1818+ <entry>
1819+ 1
1820+ </entry>
1821+ <entry>
1822+ 1
1823+ </entry>
1824+ <entry>
1825+ 1
1826+ </entry>
1827+ <entry>
1828+ 1
1829+ </entry>
1830+ </row>
1831+ </tbody>
1832+ </tgroup>
1833+ </informaltable>
1834+ <para>
1835+ Multiline table without column headers:
1836+ </para>
1837+ <informaltable>
1838+ <tgroup cols="4">
1839+ <colspec colwidth="15*" align="center" />
1840+ <colspec colwidth="13*" align="left" />
1841+ <colspec colwidth="16*" align="right" />
1842+ <colspec colwidth="33*" align="left" />
1843+ <tbody>
1844+ <row>
1845+ <entry>
1846+ First
1847+ </entry>
1848+ <entry>
1849+ row
1850+ </entry>
1851+ <entry>
1852+ 12.0
1853+ </entry>
1854+ <entry>
1855+ Example of a row that spans multiple lines.
1856+ </entry>
1857+ </row>
1858+ <row>
1859+ <entry>
1860+ Second
1861+ </entry>
1862+ <entry>
1863+ row
1864+ </entry>
1865+ <entry>
1866+ 5.0
1867+ </entry>
1868+ <entry>
1869+ Here's another one. Note the blank line between rows.
1870+ </entry>
1871+ </row>
1872+ </tbody>
1873+ </tgroup>
1874+ </informaltable>
1875+</sect1>
1876+</article>
tests/docbook-reader.nativenew file+498
@@ -0,0 +1,498 @@
1+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,",Space,Str "2006"]})
2+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
3+,Header 1 [Str "Headers"]
4+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
6+,Header 4 [Str "Level",Space,Str "4"]
7+,Header 5 [Str "Level",Space,Str "5"]
8+,Header 1 [Str "Level",Space,Str "1"]
9+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
10+,Header 3 [Str "Level",Space,Str "3"]
11+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
12+,Header 2 [Str "Level",Space,Str "2"]
13+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
14+,Header 1 [Str "Paragraphs"]
15+,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
16+,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-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."]
17+,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
18+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
19+,Header 1 [Str "Block",Space,Str "Quotes"]
20+,Para [Str "E-mail",Space,Str "style:"]
21+,BlockQuote
22+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]]
23+,BlockQuote
24+ [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
25+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
26+ ,Para [Str "A",Space,Str "list:"]
27+ ,OrderedList (1,Decimal,Period)
28+ [[Plain [Str "item",Space,Str "one"]]
29+ ,[Plain [Str "item",Space,Str "two"]]]
30+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
31+ ,BlockQuote
32+ [Para [Str "nested"]]
33+ ,BlockQuote
34+ [Para [Str "nested"]]]
35+,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."]
36+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
37+,Header 1 [Str "Code",Space,Str "Blocks"]
38+,Para [Str "Code:"]
39+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
40+,Para [Str "And:"]
41+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
42+,Header 1 [Str "Lists"]
43+,Header 2 [Str "Unordered"]
44+,Para [Str "Asterisks",Space,Str "tight:"]
45+,BulletList
46+ [[Plain [Str "asterisk",Space,Str "1"]]
47+ ,[Plain [Str "asterisk",Space,Str "2"]]
48+ ,[Plain [Str "asterisk",Space,Str "3"]]]
49+,Para [Str "Asterisks",Space,Str "loose:"]
50+,BulletList
51+ [[Para [Str "asterisk",Space,Str "1"]]
52+ ,[Para [Str "asterisk",Space,Str "2"]]
53+ ,[Para [Str "asterisk",Space,Str "3"]]]
54+,Para [Str "Pluses",Space,Str "tight:"]
55+,BulletList
56+ [[Plain [Str "Plus",Space,Str "1"]]
57+ ,[Plain [Str "Plus",Space,Str "2"]]
58+ ,[Plain [Str "Plus",Space,Str "3"]]]
59+,Para [Str "Pluses",Space,Str "loose:"]
60+,BulletList
61+ [[Para [Str "Plus",Space,Str "1"]]
62+ ,[Para [Str "Plus",Space,Str "2"]]
63+ ,[Para [Str "Plus",Space,Str "3"]]]
64+,Para [Str "Minuses",Space,Str "tight:"]
65+,BulletList
66+ [[Plain [Str "Minus",Space,Str "1"]]
67+ ,[Plain [Str "Minus",Space,Str "2"]]
68+ ,[Plain [Str "Minus",Space,Str "3"]]]
69+,Para [Str "Minuses",Space,Str "loose:"]
70+,BulletList
71+ [[Para [Str "Minus",Space,Str "1"]]
72+ ,[Para [Str "Minus",Space,Str "2"]]
73+ ,[Para [Str "Minus",Space,Str "3"]]]
74+,Header 2 [Str "Ordered"]
75+,Para [Str "Tight:"]
76+,OrderedList (1,Decimal,Period)
77+ [[Plain [Str "First"]]
78+ ,[Plain [Str "Second"]]
79+ ,[Plain [Str "Third"]]]
80+,Para [Str "and:"]
81+,OrderedList (1,Decimal,Period)
82+ [[Plain [Str "One"]]
83+ ,[Plain [Str "Two"]]
84+ ,[Plain [Str "Three"]]]
85+,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
86+,OrderedList (1,Decimal,Period)
87+ [[Para [Str "First"]]
88+ ,[Para [Str "Second"]]
89+ ,[Para [Str "Third"]]]
90+,Para [Str "and",Space,Str "using",Space,Str "spaces:"]
91+,OrderedList (1,Decimal,Period)
92+ [[Para [Str "One"]]
93+ ,[Para [Str "Two"]]
94+ ,[Para [Str "Three"]]]
95+,Para [Str "Multiple",Space,Str "paragraphs:"]
96+,OrderedList (1,Decimal,Period)
97+ [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
98+ ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",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\8217s",Space,Str "back."]]
99+ ,[Para [Str "Item",Space,Str "2."]]
100+ ,[Para [Str "Item",Space,Str "3."]]]
101+,Header 2 [Str "Nested"]
102+,BulletList
103+ [[Plain [Str "Tab"]
104+ ,BulletList
105+ [[Plain [Str "Tab"]
106+ ,BulletList
107+ [[Plain [Str "Tab"]]]]]]]
108+,Para [Str "Here\8217s",Space,Str "another:"]
109+,OrderedList (1,Decimal,Period)
110+ [[Plain [Str "First"]]
111+ ,[Plain [Str "Second:"]
112+ ,BulletList
113+ [[Plain [Str "Fee"]]
114+ ,[Plain [Str "Fie"]]
115+ ,[Plain [Str "Foe"]]]]
116+ ,[Plain [Str "Third"]]]
117+,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
118+,OrderedList (1,Decimal,Period)
119+ [[Para [Str "First"]]
120+ ,[Para [Str "Second:"]
121+ ,BulletList
122+ [[Plain [Str "Fee"]]
123+ ,[Plain [Str "Fie"]]
124+ ,[Plain [Str "Foe"]]]]
125+ ,[Para [Str "Third"]]]
126+,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
127+,BulletList
128+ [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
129+ ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
130+ ,BulletList
131+ [[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"]]
132+ ,[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"]]]]]
133+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
134+,OrderedList (2,Decimal,TwoParens)
135+ [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
136+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
137+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
138+ ,OrderedList (4,LowerRoman,Period)
139+ [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]]
140+ ,[Plain [Str "more",Space,Str "items"]
141+ ,OrderedList (1,UpperAlpha,TwoParens)
142+ [[Plain [Str "a",Space,Str "subsublist"]]
143+ ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
144+,Para [Str "Nesting:"]
145+,OrderedList (1,UpperAlpha,Period)
146+ [[Plain [Str "Upper",Space,Str "Alpha"]
147+ ,OrderedList (1,UpperRoman,Period)
148+ [[Plain [Str "Upper",Space,Str "Roman."]
149+ ,OrderedList (6,Decimal,TwoParens)
150+ [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
151+ ,OrderedList (3,LowerAlpha,OneParen)
152+ [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
153+,Para [Str "Autonumbering:"]
154+,OrderedList (1,DefaultStyle,DefaultDelim)
155+ [[Plain [Str "Autonumber."]]
156+ ,[Plain [Str "More."]
157+ ,OrderedList (1,DefaultStyle,DefaultDelim)
158+ [[Plain [Str "Nested."]]]]]
159+,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
160+,Para [Str "M.A.\160\&2007"]
161+,Para [Str "B.",Space,Str "Williams"]
162+,Header 1 [Str "Definition",Space,Str "Lists"]
163+,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
164+,DefinitionList
165+ [([Str "apple"],
166+ [[Plain [Str "red",Space,Str "fruit"]]])
167+ ,([Str "orange"],
168+ [[Plain [Str "orange",Space,Str "fruit"]]])
169+ ,([Str "banana"],
170+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
171+,Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
172+,DefinitionList
173+ [([Str "apple"],
174+ [[Plain [Str "red",Space,Str "fruit"]]])
175+ ,([Str "orange"],
176+ [[Plain [Str "orange",Space,Str "fruit"]]])
177+ ,([Str "banana"],
178+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
179+,Para [Str "Loose:"]
180+,DefinitionList
181+ [([Str "apple"],
182+ [[Para [Str "red",Space,Str "fruit"]]])
183+ ,([Str "orange"],
184+ [[Para [Str "orange",Space,Str "fruit"]]])
185+ ,([Str "banana"],
186+ [[Para [Str "yellow",Space,Str "fruit"]]])]
187+,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
188+,DefinitionList
189+ [([Emph [Str "apple"]],
190+ [[Para [Str "red",Space,Str "fruit"]
191+ ,Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]])
192+ ,([Emph [Str "orange"]],
193+ [[Para [Str "orange",Space,Str "fruit"]
194+ ,CodeBlock ("",[],[]) "{ orange code block }"
195+ ,BlockQuote
196+ [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
197+,Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"]
198+,DefinitionList
199+ [([Str "apple"],
200+ [[Plain [Str "red",Space,Str "fruit"]]
201+ ,[Plain [Str "computer"]]])
202+ ,([Str "orange"],
203+ [[Plain [Str "orange",Space,Str "fruit"]]
204+ ,[Plain [Str "bank"]]])]
205+,Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"]
206+,DefinitionList
207+ [([Str "apple"],
208+ [[Para [Str "red",Space,Str "fruit"]]
209+ ,[Para [Str "computer"]]])
210+ ,([Str "orange"],
211+ [[Para [Str "orange",Space,Str "fruit"]]
212+ ,[Para [Str "bank"]]])]
213+,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"]
214+,DefinitionList
215+ [([Str "apple"],
216+ [[Para [Str "red",Space,Str "fruit"]]
217+ ,[Para [Str "computer"]]])
218+ ,([Str "orange"],
219+ [[Para [Str "orange",Space,Str "fruit"]
220+ ,OrderedList (1,Decimal,Period)
221+ [[Plain [Str "sublist"]]
222+ ,[Plain [Str "sublist"]]]]])]
223+,Header 1 [Str "HTML",Space,Str "Blocks"]
224+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
225+,RawBlock "html" "<div>"
226+,Plain [Str "foo"]
227+,RawBlock "html" "</div>\n"
228+,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
229+,RawBlock "html" "<div>\n<div>\n<div>"
230+,Plain [Str "foo"]
231+,RawBlock "html" "</div>\n</div>\n<div>"
232+,Plain [Str "bar"]
233+,RawBlock "html" "</div>\n</div>\n"
234+,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
235+,RawBlock "html" "<table>\n<tr>\n<td>"
236+,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
237+,RawBlock "html" "</td>\n<td>"
238+,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
239+,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
240+,Para [Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
241+,RawBlock "html" "<div>\n "
242+,Plain [Str "foo"]
243+,RawBlock "html" "</div>\n"
244+,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
245+,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
246+,Para [Str "As",Space,Str "should",Space,Str "this:"]
247+,CodeBlock ("",[],[]) "<div>foo</div>"
248+,Para [Str "Now,",Space,Str "nested:"]
249+,RawBlock "html" "<div>\n <div>\n <div>\n "
250+,Plain [Str "foo"]
251+,RawBlock "html" "</div>\n </div>\n</div>\n"
252+,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
253+,RawBlock "html" "<!-- Comment -->\n"
254+,Para [Str "Multiline:"]
255+,RawBlock "html" "<!--\nBlah\nBlah\n-->\n\n<!--\n This is another comment.\n-->\n"
256+,Para [Str "Code",Space,Str "block:"]
257+,CodeBlock ("",[],[]) "<!-- Comment -->"
258+,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
259+,RawBlock "html" "<!-- foo --> \n"
260+,Para [Str "Code:"]
261+,CodeBlock ("",[],[]) "<hr />"
262+,Para [Str "Hr\8217s:"]
263+,RawBlock "html" "<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"
264+,Header 1 [Str "Inline",Space,Str "Markup"]
265+,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 "."]
266+,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 "."]
267+,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
268+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
269+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
270+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
271+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
272+,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
273+,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
274+,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello\160there"],Str "."]
275+,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many\160of\160them"],Str "O."]
276+,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."]
277+,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
278+,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
279+,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."]
280+,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
281+,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70\8217s?"]
282+,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 "."]
283+,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two",Space,Str "\8212",Space,Str "three\8212four",Space,Str "\8212",Space,Str "five."]
284+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."]
285+,Para [Str "Ellipses\8230and\8230and\8230."]
286+,Header 1 [Str "LaTeX"]
287+,BulletList
288+ [[Plain [RawInline "tex" "\\cite[22-23]{smith.1899}"]]
289+ ,[Plain [Math InlineMath "2+2=4"]]
290+ ,[Plain [Math InlineMath "x \\in y"]]
291+ ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
292+ ,[Plain [Math InlineMath "223"]]
293+ ,[Plain [Math InlineMath "p",Str "-Tree"]]
294+ ,[Plain [Str "Here\8217s",Space,Str "some",Space,Str "display",Space,Str "math:",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
295+ ,[Plain [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
296+,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math:"]
297+,BulletList
298+ [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
299+ ,[Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]]
300+ ,[Plain [Str "Shoes",Space,Str "($20)",Space,Str "and",Space,Str "socks",Space,Str "($5)."]]
301+ ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."]]]
302+,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
303+,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
304+,Header 1 [Str "Special",Space,Str "Characters"]
305+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
306+,BulletList
307+ [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
308+ ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]]
309+ ,[Plain [Str "section:",Space,Str "\167"]]
310+ ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]]
311+ ,[Plain [Str "copyright:",Space,Str "\169"]]]
312+,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
313+,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."]
314+,Para [Str "This",Space,Str "&",Space,Str "that."]
315+,Para [Str "4",Space,Str "<",Space,Str "5."]
316+,Para [Str "6",Space,Str ">",Space,Str "5."]
317+,Para [Str "Backslash:",Space,Str "\\"]
318+,Para [Str "Backtick:",Space,Str "`"]
319+,Para [Str "Asterisk:",Space,Str "*"]
320+,Para [Str "Underscore:",Space,Str "_"]
321+,Para [Str "Left",Space,Str "brace:",Space,Str "{"]
322+,Para [Str "Right",Space,Str "brace:",Space,Str "}"]
323+,Para [Str "Left",Space,Str "bracket:",Space,Str "["]
324+,Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
325+,Para [Str "Left",Space,Str "paren:",Space,Str "("]
326+,Para [Str "Right",Space,Str "paren:",Space,Str ")"]
327+,Para [Str "Greater-than:",Space,Str ">"]
328+,Para [Str "Hash:",Space,Str "#"]
329+,Para [Str "Period:",Space,Str "."]
330+,Para [Str "Bang:",Space,Str "!"]
331+,Para [Str "Plus:",Space,Str "+"]
332+,Para [Str "Minus:",Space,Str "-"]
333+,Header 1 [Str "Links"]
334+,Header 2 [Str "Explicit"]
335+,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
336+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
337+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
338+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
339+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
340+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
341+,Para [Link [Str "with_underscore"] ("/url/with_underscore","")]
342+,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
343+,Para [Link [Str "Empty"] ("",""),Str "."]
344+,Header 2 [Str "Reference"]
345+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
346+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
347+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
348+,Para [Str "With",Space,Link [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
349+,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
350+,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
351+,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
352+,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
353+,Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."]
354+,CodeBlock ("",[],[]) "[not]: /url"
355+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
356+,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
357+,Header 2 [Str "With",Space,Str "ampersands"]
358+,Para [Str "Here\8217s",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 "."]
359+,Para [Str "Here\8217s",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:",Space,Link [Str "AT&T"] ("http://att.com/","AT&T"),Str "."]
360+,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
361+,Para [Str "Here\8217s",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 "."]
362+,Header 2 [Str "Autolinks"]
363+,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
364+,BulletList
365+ [[Plain [Str "In",Space,Str "a",Space,Str "list?"]]
366+ ,[Plain [Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
367+ ,[Plain [Str "It",Space,Str "should."]]]
368+,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Link [Code ("",["url"],[]) "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
369+,BlockQuote
370+ [Para [Str "Blockquoted:",Space,Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
371+,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
372+,CodeBlock ("",[],[]) "or here: <http://example.com/>"
373+,Header 1 [Str "Images"]
374+,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 "(1902):"]
375+,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
376+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
377+,Header 1 [Str "Footnotes"]
378+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",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."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],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 "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",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."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.[^my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",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,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]]
379+,BlockQuote
380+ [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
381+,OrderedList (1,Decimal,Period)
382+ [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]]
383+,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,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."]
384+,Header 1 [Str "Tables"]
385+,Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"]
386+,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
387+ [[Plain [Str "Right"]]
388+ ,[Plain [Str "Left"]]
389+ ,[Plain [Str "Center"]]
390+ ,[Plain [Str "Default"]]]
391+ [[[Plain [Str "12"]]
392+ ,[Plain [Str "12"]]
393+ ,[Plain [Str "12"]]
394+ ,[Plain [Str "12"]]]
395+ ,[[Plain [Str "123"]]
396+ ,[Plain [Str "123"]]
397+ ,[Plain [Str "123"]]
398+ ,[Plain [Str "123"]]]
399+ ,[[Plain [Str "1"]]
400+ ,[Plain [Str "1"]]
401+ ,[Plain [Str "1"]]
402+ ,[Plain [Str "1"]]]]
403+,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"]
404+,Table [] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
405+ [[Plain [Str "Right"]]
406+ ,[Plain [Str "Left"]]
407+ ,[Plain [Str "Center"]]
408+ ,[Plain [Str "Default"]]]
409+ [[[Plain [Str "12"]]
410+ ,[Plain [Str "12"]]
411+ ,[Plain [Str "12"]]
412+ ,[Plain [Str "12"]]]
413+ ,[[Plain [Str "123"]]
414+ ,[Plain [Str "123"]]
415+ ,[Plain [Str "123"]]
416+ ,[Plain [Str "123"]]]
417+ ,[[Plain [Str "1"]]
418+ ,[Plain [Str "1"]]
419+ ,[Plain [Str "1"]]
420+ ,[Plain [Str "1"]]]]
421+,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces:"]
422+,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
423+ [[Plain [Str "Right"]]
424+ ,[Plain [Str "Left"]]
425+ ,[Plain [Str "Center"]]
426+ ,[Plain [Str "Default"]]]
427+ [[[Plain [Str "12"]]
428+ ,[Plain [Str "12"]]
429+ ,[Plain [Str "12"]]
430+ ,[Plain [Str "12"]]]
431+ ,[[Plain [Str "123"]]
432+ ,[Plain [Str "123"]]
433+ ,[Plain [Str "123"]]
434+ ,[Plain [Str "123"]]]
435+ ,[[Plain [Str "1"]]
436+ ,[Plain [Str "1"]]
437+ ,[Plain [Str "1"]]
438+ ,[Plain [Str "1"]]]]
439+,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"]
440+,Table [Str "Here's",Space,Str "the",Space,Str "caption.",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
441+ [[Plain [Str "Centered",Space,Str "Header"]]
442+ ,[Plain [Str "Left",Space,Str "Aligned"]]
443+ ,[Plain [Str "Right",Space,Str "Aligned"]]
444+ ,[Plain [Str "Default",Space,Str "aligned"]]]
445+ [[[Plain [Str "First"]]
446+ ,[Plain [Str "row"]]
447+ ,[Plain [Str "12.0"]]
448+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]]
449+ ,[[Plain [Str "Second"]]
450+ ,[Plain [Str "row"]]
451+ ,[Plain [Str "5.0"]]
452+ ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
453+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"]
454+,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
455+ [[Plain [Str "Centered",Space,Str "Header"]]
456+ ,[Plain [Str "Left",Space,Str "Aligned"]]
457+ ,[Plain [Str "Right",Space,Str "Aligned"]]
458+ ,[Plain [Str "Default",Space,Str "aligned"]]]
459+ [[[Plain [Str "First"]]
460+ ,[Plain [Str "row"]]
461+ ,[Plain [Str "12.0"]]
462+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]]
463+ ,[[Plain [Str "Second"]]
464+ ,[Plain [Str "row"]]
465+ ,[Plain [Str "5.0"]]
466+ ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
467+,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
468+,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0]
469+ [[]
470+ ,[]
471+ ,[]
472+ ,[]]
473+ [[[Plain [Str "12"]]
474+ ,[Plain [Str "12"]]
475+ ,[Plain [Str "12"]]
476+ ,[Plain [Str "12"]]]
477+ ,[[Plain [Str "123"]]
478+ ,[Plain [Str "123"]]
479+ ,[Plain [Str "123"]]
480+ ,[Plain [Str "123"]]]
481+ ,[[Plain [Str "1"]]
482+ ,[Plain [Str "1"]]
483+ ,[Plain [Str "1"]]
484+ ,[Plain [Str "1"]]]]
485+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
486+,Table [] [AlignCenter,AlignLeft,AlignRight,AlignDefault] [0.15,0.1375,0.1625,0.3375]
487+ [[]
488+ ,[]
489+ ,[]
490+ ,[]]
491+ [[[Plain [Str "First"]]
492+ ,[Plain [Str "row"]]
493+ ,[Plain [Str "12.0"]]
494+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]]
495+ ,[[Plain [Str "Second"]]
496+ ,[Plain [Str "row"]]
497+ ,[Plain [Str "5.0"]]
498+ ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]]