<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <article> <articleinfo> <title>Pandoc Test Suite</title> <authorgroup> <author> <firstname>John</firstname> <surname>MacFarlane</surname> </author> <author> <firstname></firstname> <surname>Anonymous</surname> </author> </authorgroup> <date>July 17, 2006</date> </articleinfo> <para> This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. </para> <sect1 id="headers"> <title>Headers</title> <sect2 id="level-2-with-an-embedded-link"> <title>Level 2 with an <ulink url="/url">embedded link</ulink></title> <sect3 id="level-3-with-emphasis"> <title>Level 3 with <emphasis>emphasis</emphasis></title> <sect4 id="level-4"> <title>Level 4</title> <sect5 id="level-5"> <title>Level 5</title> <para> </para> </sect5> </sect4> </sect3> </sect2> </sect1> <sect1 id="level-1"> <title>Level 1</title> <sect2 id="level-2-with-emphasis"> <title>Level 2 with <emphasis>emphasis</emphasis></title> <sect3 id="level-3"> <title>Level 3</title> <para> with no blank line </para> </sect3> </sect2> <sect2 id="level-2"> <title>Level 2</title> <para> with no blank line </para> </sect2> </sect1> <sect1 id="paragraphs"> <title>Paragraphs</title> <para> Here’s a regular paragraph. </para> <para> In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item. </para> <para> Here’s one with a bullet. * criminey. </para> <literallayout>There should be a hard line break here.</literallayout> </sect1> <sect1 id="block-quotes"> <title>Block Quotes</title> <para> E-mail style: </para> <blockquote> <para> This is a block quote. It is pretty short. </para> </blockquote> <blockquote> <para> Code in a block quote: </para> <programlisting> sub status { print "working"; } </programlisting> <para> A list: </para> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> item one </para> </listitem> <listitem> <para> item two </para> </listitem> </orderedlist> <para> Nested block quotes: </para> <blockquote> <para> nested </para> </blockquote> <blockquote> <para> nested </para> </blockquote> </blockquote> <para> This should not be a block quote: 2 > 1. </para> <para> And a following paragraph. </para> </sect1> <sect1 id="code-blocks"> <title>Code Blocks</title> <para> Code: </para> <programlisting> ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab </programlisting> <para> And: </para> <programlisting> this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ </programlisting> </sect1> <sect1 id="lists"> <title>Lists</title> <sect2 id="unordered"> <title>Unordered</title> <para> Asterisks tight: </para> <itemizedlist spacing="compact"> <listitem> <para> asterisk 1 </para> </listitem> <listitem> <para> asterisk 2 </para> </listitem> <listitem> <para> asterisk 3 </para> </listitem> </itemizedlist> <para> Asterisks loose: </para> <itemizedlist> <listitem> <para> asterisk 1 </para> </listitem> <listitem> <para> asterisk 2 </para> </listitem> <listitem> <para> asterisk 3 </para> </listitem> </itemizedlist> <para> Pluses tight: </para> <itemizedlist spacing="compact"> <listitem> <para> Plus 1 </para> </listitem> <listitem> <para> Plus 2 </para> </listitem> <listitem> <para> Plus 3 </para> </listitem> </itemizedlist> <para> Pluses loose: </para> <itemizedlist> <listitem> <para> Plus 1 </para> </listitem> <listitem> <para> Plus 2 </para> </listitem> <listitem> <para> Plus 3 </para> </listitem> </itemizedlist> <para> Minuses tight: </para> <itemizedlist spacing="compact"> <listitem> <para> Minus 1 </para> </listitem> <listitem> <para> Minus 2 </para> </listitem> <listitem> <para> Minus 3 </para> </listitem> </itemizedlist> <para> Minuses loose: </para> <itemizedlist> <listitem> <para> Minus 1 </para> </listitem> <listitem> <para> Minus 2 </para> </listitem> <listitem> <para> Minus 3 </para> </listitem> </itemizedlist> </sect2> <sect2 id="ordered"> <title>Ordered</title> <para> Tight: </para> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> First </para> </listitem> <listitem> <para> Second </para> </listitem> <listitem> <para> Third </para> </listitem> </orderedlist> <para> and: </para> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> One </para> </listitem> <listitem> <para> Two </para> </listitem> <listitem> <para> Three </para> </listitem> </orderedlist> <para> Loose using tabs: </para> <orderedlist numeration="arabic"> <listitem> <para> First </para> </listitem> <listitem> <para> Second </para> </listitem> <listitem> <para> Third </para> </listitem> </orderedlist> <para> and using spaces: </para> <orderedlist numeration="arabic"> <listitem> <para> One </para> </listitem> <listitem> <para> Two </para> </listitem> <listitem> <para> Three </para> </listitem> </orderedlist> <para> Multiple paragraphs: </para> <orderedlist numeration="arabic"> <listitem> <para> Item 1, graf one. </para> <para> Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. </para> </listitem> <listitem> <para> Item 2. </para> </listitem> <listitem> <para> Item 3. </para> </listitem> </orderedlist> </sect2> <sect2 id="nested"> <title>Nested</title> <itemizedlist spacing="compact"> <listitem> <para> Tab </para> <itemizedlist spacing="compact"> <listitem> <para> Tab </para> <itemizedlist spacing="compact"> <listitem> <para> Tab </para> </listitem> </itemizedlist> </listitem> </itemizedlist> </listitem> </itemizedlist> <para> Here’s another: </para> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> First </para> </listitem> <listitem> <para> Second: </para> <itemizedlist spacing="compact"> <listitem> <para> Fee </para> </listitem> <listitem> <para> Fie </para> </listitem> <listitem> <para> Foe </para> </listitem> </itemizedlist> </listitem> <listitem> <para> Third </para> </listitem> </orderedlist> <para> Same thing but with paragraphs: </para> <orderedlist numeration="arabic"> <listitem> <para> First </para> </listitem> <listitem> <para> Second: </para> <itemizedlist spacing="compact"> <listitem> <para> Fee </para> </listitem> <listitem> <para> Fie </para> </listitem> <listitem> <para> Foe </para> </listitem> </itemizedlist> </listitem> <listitem> <para> Third </para> </listitem> </orderedlist> </sect2> <sect2 id="tabs-and-spaces"> <title>Tabs and spaces</title> <itemizedlist> <listitem> <para> this is a list item indented with tabs </para> </listitem> <listitem> <para> this is a list item indented with spaces </para> <itemizedlist> <listitem> <para> this is an example list item indented with tabs </para> </listitem> <listitem> <para> this is an example list item indented with spaces </para> </listitem> </itemizedlist> </listitem> </itemizedlist> </sect2> <sect2 id="fancy-list-markers"> <title>Fancy list markers</title> <orderedlist numeration="arabic"> <listitem override="2"> <para> begins with 2 </para> </listitem> <listitem> <para> and now 3 </para> <para> with a continuation </para> <orderedlist numeration="lowerroman" spacing="compact"> <listitem override="4"> <para> sublist with roman numerals, starting with 4 </para> </listitem> <listitem> <para> more items </para> <orderedlist numeration="upperalpha" spacing="compact"> <listitem> <para> a subsublist </para> </listitem> <listitem> <para> a subsublist </para> </listitem> </orderedlist> </listitem> </orderedlist> </listitem> </orderedlist> <para> Nesting: </para> <orderedlist numeration="upperalpha" spacing="compact"> <listitem> <para> Upper Alpha </para> <orderedlist numeration="upperroman" spacing="compact"> <listitem> <para> Upper Roman. </para> <orderedlist numeration="arabic" spacing="compact"> <listitem override="6"> <para> Decimal start with 6 </para> <orderedlist numeration="loweralpha" spacing="compact"> <listitem override="3"> <para> Lower alpha with paren </para> </listitem> </orderedlist> </listitem> </orderedlist> </listitem> </orderedlist> </listitem> </orderedlist> <para> Autonumbering: </para> <orderedlist spacing="compact"> <listitem> <para> Autonumber. </para> </listitem> <listitem> <para> More. </para> <orderedlist spacing="compact"> <listitem> <para> Nested. </para> </listitem> </orderedlist> </listitem> </orderedlist> <para> Should not be a list item: </para> <para> M.A. 2007 </para> <para> B. Williams </para> </sect2> </sect1> <sect1 id="definition-lists"> <title>Definition Lists</title> <para> Tight using spaces: </para> <variablelist spacing="compact"> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> </listitem> </varlistentry> <varlistentry> <term> banana </term> <listitem> <para> yellow fruit </para> </listitem> </varlistentry> </variablelist> <para> Tight using tabs: </para> <variablelist spacing="compact"> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> </listitem> </varlistentry> <varlistentry> <term> banana </term> <listitem> <para> yellow fruit </para> </listitem> </varlistentry> </variablelist> <para> Loose: </para> <variablelist> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> </listitem> </varlistentry> <varlistentry> <term> banana </term> <listitem> <para> yellow fruit </para> </listitem> </varlistentry> </variablelist> <para> Multiple blocks with italics: </para> <variablelist> <varlistentry> <term> <emphasis>apple</emphasis> </term> <listitem> <para> red fruit </para> <para> contains seeds, crisp, pleasant to taste </para> </listitem> </varlistentry> <varlistentry> <term> <emphasis>orange</emphasis> </term> <listitem> <para> orange fruit </para> <programlisting> { orange code block } </programlisting> <blockquote> <para> orange block quote </para> </blockquote> </listitem> </varlistentry> </variablelist> <para> Multiple definitions, tight: </para> <variablelist spacing="compact"> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> <para> computer </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> <para> bank </para> </listitem> </varlistentry> </variablelist> <para> Multiple definitions, loose: </para> <variablelist> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> <para> computer </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> <para> bank </para> </listitem> </varlistentry> </variablelist> <para> Blank line after term, indented marker, alternate markers: </para> <variablelist> <varlistentry> <term> apple </term> <listitem> <para> red fruit </para> <para> computer </para> </listitem> </varlistentry> <varlistentry> <term> orange </term> <listitem> <para> orange fruit </para> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> sublist </para> </listitem> <listitem> <para> sublist </para> </listitem> </orderedlist> </listitem> </varlistentry> </variablelist> </sect1> <sect1 id="html-blocks"> <title>HTML Blocks</title> <para> Simple block on one line: </para> <para> foo </para> <para> And nested without indentation: </para> <para> foo </para> <para> bar </para> <para> Interpreted markdown in a table: </para> <table> <tr> <td> This is <emphasis>emphasized</emphasis> </td> <td> And this is <emphasis role="strong">strong</emphasis> </td> </tr> </table> <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script> <para> Here’s a simple block: </para> <para> foo </para> <para> This should be a code block, though: </para> <programlisting> <div> foo </div> </programlisting> <para> As should this: </para> <programlisting> <div>foo</div> </programlisting> <para> Now, nested: </para> <para> foo </para> <para> This should just be an HTML comment: </para> <!-- Comment --> <para> Multiline: </para> <!-- Blah Blah --> <!-- This is another comment. --> <para> Code block: </para> <programlisting> <!-- Comment --> </programlisting> <para> Just plain comment, with trailing spaces on the line: </para> <!-- foo --> <para> Code: </para> <programlisting> <hr /> </programlisting> <para> Hr’s: </para> <hr> <hr /> <hr /> <hr> <hr /> <hr /> <hr class="foo" id="bar" /> <hr class="foo" id="bar" /> <hr class="foo" id="bar"> </sect1> <sect1 id="inline-markup"> <title>Inline Markup</title> <para> This is <emphasis>emphasized</emphasis>, and so <emphasis>is this</emphasis>. </para> <para> This is <emphasis role="strong">strong</emphasis>, and so <emphasis role="strong">is this</emphasis>. </para> <para> An <emphasis><ulink url="/url">emphasized link</ulink></emphasis>. </para> <para> <emphasis role="strong"><emphasis>This is strong and em.</emphasis></emphasis> </para> <para> So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word. </para> <para> <emphasis role="strong"><emphasis>This is strong and em.</emphasis></emphasis> </para> <para> So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word. </para> <para> This is code: <literal>></literal>, <literal>$</literal>, <literal>\</literal>, <literal>\$</literal>, <literal><html></literal>. </para> <para> <emphasis role="strikethrough">This is <emphasis>strikeout</emphasis>.</emphasis> </para> <para> Superscripts: a<superscript>bc</superscript>d a<superscript><emphasis>hello</emphasis></superscript> a<superscript>hello there</superscript>. </para> <para> Subscripts: H<subscript>2</subscript>O, H<subscript>23</subscript>O, H<subscript>many of them</subscript>O. </para> <para> These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. </para> </sect1> <sect1 id="smart-quotes-ellipses-dashes"> <title>Smart quotes, ellipses, dashes</title> <para> <quote>Hello,</quote> said the spider. <quote><quote>Shelob</quote> is my name.</quote> </para> <para> <quote>A</quote>, <quote>B</quote>, and <quote>C</quote> are letters. </para> <para> <quote>Oak,</quote> <quote>elm,</quote> and <quote>beech</quote> are names of trees. So is <quote>pine.</quote> </para> <para> <quote>He said, <quote>I want to go.</quote></quote> Were you alive in the 70’s? </para> <para> Here is some quoted <quote><literal>code</literal></quote> and a <quote><ulink url="http://example.com/?foo=1&bar=2">quoted link</ulink></quote>. </para> <para> Some dashes: one—two — three—four — five. </para> <para> Dashes between numbers: 5–7, 255–66, 1987–1999. </para> <para> Ellipses…and…and…. </para> </sect1> <sect1 id="latex"> <title>LaTeX</title> <itemizedlist spacing="compact"> <listitem> <para> </para> </listitem> <listitem> <para> 2 + 2 = 4 </para> </listitem> <listitem> <para> <emphasis>x</emphasis> ∈ <emphasis>y</emphasis> </para> </listitem> <listitem> <para> <emphasis>α</emphasis> ∧ <emphasis>ω</emphasis> </para> </listitem> <listitem> <para> 223 </para> </listitem> <listitem> <para> <emphasis>p</emphasis>-Tree </para> </listitem> <listitem> <para> Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ </para> </listitem> <listitem> <para> Here’s one that has a line break in it: <emphasis>α</emphasis> + <emphasis>ω</emphasis> × <emphasis>x</emphasis><superscript>2</superscript>. </para> </listitem> </itemizedlist> <para> These shouldn’t be math: </para> <itemizedlist spacing="compact"> <listitem> <para> To get the famous equation, write <literal>$e = mc^2$</literal>. </para> </listitem> <listitem> <para> $22,000 is a <emphasis>lot</emphasis> of money. So is $34,000. (It worked if <quote>lot</quote> is emphasized.) </para> </listitem> <listitem> <para> Shoes ($20) and socks ($5). </para> </listitem> <listitem> <para> Escaped <literal>$</literal>: $73 <emphasis>this should be emphasized</emphasis> 23$. </para> </listitem> </itemizedlist> <para> Here’s a LaTeX table: </para> </sect1> <sect1 id="special-characters"> <title>Special Characters</title> <para> Here is some unicode: </para> <itemizedlist spacing="compact"> <listitem> <para> I hat: Î </para> </listitem> <listitem> <para> o umlaut: ö </para> </listitem> <listitem> <para> section: § </para> </listitem> <listitem> <para> set membership: ∈ </para> </listitem> <listitem> <para> copyright: © </para> </listitem> </itemizedlist> <para> AT&T has an ampersand in their name. </para> <para> AT&T is another way to write it. </para> <para> This & that. </para> <para> 4 < 5. </para> <para> 6 > 5. </para> <para> Backslash: \ </para> <para> Backtick: ` </para> <para> Asterisk: * </para> <para> Underscore: _ </para> <para> Left brace: { </para> <para> Right brace: } </para> <para> Left bracket: [ </para> <para> Right bracket: ] </para> <para> Left paren: ( </para> <para> Right paren: ) </para> <para> Greater-than: > </para> <para> Hash: # </para> <para> Period: . </para> <para> Bang: ! </para> <para> Plus: + </para> <para> Minus: - </para> </sect1> <sect1 id="links"> <title>Links</title> <sect2 id="explicit"> <title>Explicit</title> <para> Just a <ulink url="/url/">URL</ulink>. </para> <para> <ulink url="/url/">URL and title</ulink>. </para> <para> <ulink url="/url/">URL and title</ulink>. </para> <para> <ulink url="/url/">URL and title</ulink>. </para> <para> <ulink url="/url/">URL and title</ulink> </para> <para> <ulink url="/url/">URL and title</ulink> </para> <para> <ulink url="/url/with_underscore">with_underscore</ulink> </para> <para> Email link (<email>nobody@nowhere.net</email>) </para> <para> <ulink url="">Empty</ulink>. </para> </sect2> <sect2 id="reference"> <title>Reference</title> <para> Foo <ulink url="/url/">bar</ulink>. </para> <para> Foo <ulink url="/url/">bar</ulink>. </para> <para> Foo <ulink url="/url/">bar</ulink>. </para> <para> With <ulink url="/url/">embedded [brackets]</ulink>. </para> <para> <ulink url="/url/">b</ulink> by itself should be a link. </para> <para> Indented <ulink url="/url">once</ulink>. </para> <para> Indented <ulink url="/url">twice</ulink>. </para> <para> Indented <ulink url="/url">thrice</ulink>. </para> <para> This should [not][] be a link. </para> <programlisting> [not]: /url </programlisting> <para> Foo <ulink url="/url/">bar</ulink>. </para> <para> Foo <ulink url="/url/">biz</ulink>. </para> </sect2> <sect2 id="with-ampersands"> <title>With ampersands</title> <para> Here’s a <ulink url="http://example.com/?foo=1&bar=2">link with an ampersand in the URL</ulink>. </para> <para> Here’s a link with an amersand in the link text: <ulink url="http://att.com/">AT&T</ulink>. </para> <para> Here’s an <ulink url="/script?foo=1&bar=2">inline link</ulink>. </para> <para> Here’s an <ulink url="/script?foo=1&bar=2">inline link in pointy braces</ulink>. </para> </sect2> <sect2 id="autolinks"> <title>Autolinks</title> <para> With an ampersand: <ulink url="http://example.com/?foo=1&bar=2">http://example.com/?foo=1&bar=2</ulink> </para> <itemizedlist spacing="compact"> <listitem> <para> In a list? </para> </listitem> <listitem> <para> <ulink url="http://example.com/">http://example.com/</ulink> </para> </listitem> <listitem> <para> It should. </para> </listitem> </itemizedlist> <para> An e-mail address: <email>nobody@nowhere.net</email> </para> <blockquote> <para> Blockquoted: <ulink url="http://example.com/">http://example.com/</ulink> </para> </blockquote> <para> Auto-links should not occur here: <literal><http://example.com/></literal> </para> <programlisting> or here: <http://example.com/> </programlisting> </sect2> </sect1> <sect1 id="images"> <title>Images</title> <para> From <quote>Voyage dans la Lune</quote> by Georges Melies (1902): </para> <figure> <title>lalune</title> <mediaobject> <imageobject> <imagedata fileref="lalune.jpg" /> </imageobject> <textobject><phrase>lalune</phrase></textobject> </mediaobject> </figure> <para> Here is a movie <inlinemediaobject> <imageobject> <imagedata fileref="movie.jpg" /> </imageobject> </inlinemediaobject> icon. </para> </sect1> <sect1 id="footnotes"> <title>Footnotes</title> <para> Here is a footnote reference,<footnote> <para> Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. </para> </footnote> and another.<footnote> <para> Here’s the long note. This one contains multiple blocks. </para> <para> Subsequent blocks are indented to show that they belong to the footnote (as with list items). </para> <programlisting> { <code> } </programlisting> <para> If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. </para> </footnote> This should <emphasis>not</emphasis> be a footnote reference, because it contains a space.[^my note] Here is an inline note.<footnote> <para> This is <emphasis>easier</emphasis> to type. Inline notes may contain <ulink url="http://google.com">links</ulink> and <literal>]</literal> verbatim characters, as well as [bracketed text]. </para> </footnote> </para> <blockquote> <para> Notes can go in quotes.<footnote> <para> In quote. </para> </footnote> </para> </blockquote> <orderedlist numeration="arabic" spacing="compact"> <listitem> <para> And in list items.<footnote> <para> In list. </para> </footnote> </para> </listitem> </orderedlist> <para> This paragraph should not be part of the note, as it is not indented. </para> </sect1> </article>