pandoc/tests/writer.context
2012-06-26 19:50:52 -07:00

884 lines
14 KiB
Text

\startmode[*mkii]
\enableregime[utf-8]
\setupcolors[state=start]
\stopmode
% Enable hyperlinks
\setupinteraction[state=start, color=middleblue]
\setuppapersize [letter][letter]
\setuplayout [width=middle, backspace=1.5in, cutspace=1.5in,
height=middle, topspace=0.75in, bottomspace=0.75in]
\setuppagenumbering[location={footer,center}]
\setupbodyfont[11pt]
\setupwhitespace[medium]
\setuphead[chapter] [style=\tfd]
\setuphead[section] [style=\tfc]
\setuphead[subsection] [style=\tfb]
\setuphead[subsubsection][style=\bf]
\setuphead[chapter, section, subsection, subsubsection][number=no]
\definedescription
[description]
[headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm]
\setupitemize[autointro] % prevent orphan list intro
\setupitemize[indentnext=no]
\setupthinrules[width=15em] % width of horizontal rules
\setupdelimitedtext
[blockquote]
[before={\blank[medium]},
after={\blank[medium]},
indentnext=no,
]
\starttext
\startalignment[center]
\blank[2*big]
{\tfd Pandoc Test Suite}
\blank[3*medium]
{\tfa John MacFarlane\crlf Anonymous}
\blank[2*medium]
{\tfa July 17, 2006}
\blank[3*medium]
\stopalignment
This is a set of tests for pandoc. Most of them are adapted from John Gruber's
markdown test suite.
\thinrule
\section[headers]{Headers}
\subsection[level-2-with-an-embedded-link]{Level 2 with an
\useURL[url1][/url][][embedded link]\from[url1]}
\subsubsection[level-3-with-emphasis]{Level 3 with {\em emphasis}}
\subsubsubsection[level-4]{Level 4}
\subsubsubsubsection[level-5]{Level 5}
\section[level-1]{Level 1}
\subsection[level-2-with-emphasis]{Level 2 with {\em emphasis}}
\subsubsection[level-3]{Level 3}
with no blank line
\subsection[level-2]{Level 2}
with no blank line
\thinrule
\section[paragraphs]{Paragraphs}
Here's a regular paragraph.
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.
Here's one with a bullet. * criminey.
There should be a hard line break\crlf
here.
\thinrule
\section[block-quotes]{Block Quotes}
E-mail style:
\startblockquote
This is a block quote. It is pretty short.
\stopblockquote
\startblockquote
Code in a block quote:
\starttyping
sub status {
print "working";
}
\stoptyping
A list:
\startitemize[n][stopper=.]
\item
item one
\item
item two
\stopitemize
Nested block quotes:
\startblockquote
nested
\stopblockquote
\startblockquote
nested
\stopblockquote
\stopblockquote
This should not be a block quote: 2 \lettermore{} 1.
And a following paragraph.
\thinrule
\section[code-blocks]{Code Blocks}
Code:
\starttyping
---- (should be four hyphens)
sub status {
print "working";
}
this code block is indented by one tab
\stoptyping
And:
\starttyping
this code block is indented by two tabs
These should not be escaped: \$ \\ \> \[ \{
\stoptyping
\thinrule
\section[lists]{Lists}
\subsection[unordered]{Unordered}
Asterisks tight:
\startitemize
\item
asterisk 1
\item
asterisk 2
\item
asterisk 3
\stopitemize
Asterisks loose:
\startitemize
\item
asterisk 1
\item
asterisk 2
\item
asterisk 3
\stopitemize
Pluses tight:
\startitemize
\item
Plus 1
\item
Plus 2
\item
Plus 3
\stopitemize
Pluses loose:
\startitemize
\item
Plus 1
\item
Plus 2
\item
Plus 3
\stopitemize
Minuses tight:
\startitemize
\item
Minus 1
\item
Minus 2
\item
Minus 3
\stopitemize
Minuses loose:
\startitemize
\item
Minus 1
\item
Minus 2
\item
Minus 3
\stopitemize
\subsection[ordered]{Ordered}
Tight:
\startitemize[n][stopper=.]
\item
First
\item
Second
\item
Third
\stopitemize
and:
\startitemize[n][stopper=.]
\item
One
\item
Two
\item
Three
\stopitemize
Loose using tabs:
\startitemize[n][stopper=.]
\item
First
\item
Second
\item
Third
\stopitemize
and using spaces:
\startitemize[n][stopper=.]
\item
One
\item
Two
\item
Three
\stopitemize
Multiple paragraphs:
\startitemize[n][stopper=.]
\item
Item 1, graf one.
Item 1. graf two. The quick brown fox jumped over the lazy dog's back.
\item
Item 2.
\item
Item 3.
\stopitemize
\subsection[nested]{Nested}
\startitemize
\item
Tab
\startitemize
\item
Tab
\startitemize
\item
Tab
\stopitemize
\stopitemize
\stopitemize
Here's another:
\startitemize[n][stopper=.]
\item
First
\item
Second:
\startitemize
\item
Fee
\item
Fie
\item
Foe
\stopitemize
\item
Third
\stopitemize
Same thing but with paragraphs:
\startitemize[n][stopper=.]
\item
First
\item
Second:
\startitemize
\item
Fee
\item
Fie
\item
Foe
\stopitemize
\item
Third
\stopitemize
\subsection[tabs-and-spaces]{Tabs and spaces}
\startitemize
\item
this is a list item indented with tabs
\item
this is a list item indented with spaces
\startitemize
\item
this is an example list item indented with tabs
\item
this is an example list item indented with spaces
\stopitemize
\stopitemize
\subsection[fancy-list-markers]{Fancy list markers}
\startitemize[n][start=2,left=(,stopper=),width=2.0em]
\item
begins with 2
\item
and now 3
with a continuation
\startitemize[r][start=4,stopper=.,width=2.0em]
\item
sublist with roman numerals, starting with 4
\item
more items
\startitemize[A][left=(,stopper=),width=2.0em]
\item
a subsublist
\item
a subsublist
\stopitemize
\stopitemize
\stopitemize
Nesting:
\startitemize[A][stopper=.]
\item
Upper Alpha
\startitemize[R][stopper=.]
\item
Upper Roman.
\startitemize[n][start=6,left=(,stopper=),width=2.0em]
\item
Decimal start with 6
\startitemize[a][start=3,stopper=)]
\item
Lower alpha with paren
\stopitemize
\stopitemize
\stopitemize
\stopitemize
Autonumbering:
\startitemize[n]
\item
Autonumber.
\item
More.
\startitemize[a]
\item
Nested.
\stopitemize
\stopitemize
Should not be a list item:
M.A.~2007
B. Williams
\thinrule
\section[definition-lists]{Definition Lists}
Tight using spaces:
\startdescription{apple}
red fruit
\stopdescription
\startdescription{orange}
orange fruit
\stopdescription
\startdescription{banana}
yellow fruit
\stopdescription
Tight using tabs:
\startdescription{apple}
red fruit
\stopdescription
\startdescription{orange}
orange fruit
\stopdescription
\startdescription{banana}
yellow fruit
\stopdescription
Loose:
\startdescription{apple}
red fruit
\stopdescription
\startdescription{orange}
orange fruit
\stopdescription
\startdescription{banana}
yellow fruit
\stopdescription
Multiple blocks with italics:
\startdescription{{\em apple}}
red fruit
contains seeds, crisp, pleasant to taste
\stopdescription
\startdescription{{\em orange}}
orange fruit
\starttyping
{ orange code block }
\stoptyping
\startblockquote
orange block quote
\stopblockquote
\stopdescription
Multiple definitions, tight:
\startdescription{apple}
red fruit
computer
\stopdescription
\startdescription{orange}
orange fruit
bank
\stopdescription
Multiple definitions, loose:
\startdescription{apple}
red fruit
computer
\stopdescription
\startdescription{orange}
orange fruit
bank
\stopdescription
Blank line after term, indented marker, alternate markers:
\startdescription{apple}
red fruit
computer
\stopdescription
\startdescription{orange}
orange fruit
\startitemize[n][stopper=.]
\item
sublist
\item
sublist
\stopitemize
\stopdescription
\section[html-blocks]{HTML Blocks}
Simple block on one line:
foo
And nested without indentation:
foo
bar
Interpreted markdown in a table:
This is {\em emphasized}
And this is {\bf strong}
Here's a simple block:
foo
This should be a code block, though:
\starttyping
<div>
foo
</div>
\stoptyping
As should this:
\starttyping
<div>foo</div>
\stoptyping
Now, nested:
foo
This should just be an HTML comment:
Multiline:
Code block:
\starttyping
<!-- Comment -->
\stoptyping
Just plain comment, with trailing spaces on the line:
Code:
\starttyping
<hr />
\stoptyping
Hr's:
\thinrule
\section[inline-markup]{Inline Markup}
This is {\em emphasized}, and so {\em is this}.
This is {\bf strong}, and so {\bf is this}.
An {\em \useURL[url2][/url][][emphasized link]\from[url2]}.
{\bf {\em This is strong and em.}}
So is {\bf {\em this}} word.
{\bf {\em This is strong and em.}}
So is {\bf {\em this}} word.
This is code: \type{>}, \type{$}, \type{\}, \type{\$}, \type{<html>}.
\overstrikes{This is {\em strikeout}.}
Superscripts: a\high{bc}d a\high{{\em hello}} a\high{hello~there}.
Subscripts: H\low{2}O, H\low{23}O, H\low{many~of~them}O.
These should not be superscripts or subscripts, because of the unescaped
spaces: a\letterhat{}b c\letterhat{}d, a\lettertilde{}b c\lettertilde{}d.
\thinrule
\section[smart-quotes-ellipses-dashes]{Smart quotes, ellipses, dashes}
\quotation{Hello,} said the spider. \quotation{\quote{Shelob} is my name.}
\quote{A}, \quote{B}, and \quote{C} are letters.
\quote{Oak,} \quote{elm,} and \quote{beech} are names of trees. So is
\quote{pine.}
\quote{He said, \quotation{I want to go.}} Were you alive in the 70's?
Here is some quoted \quote{\type{code}} and a
\quotation{\useURL[url3][http://example.com/?foo=1&bar=2][][quoted
link]\from[url3]}.
Some dashes: one---two --- three---four --- five.
Dashes between numbers: 5--7, 255--66, 1987--1999.
Ellipses\ldots{}and\ldots{}and\ldots{}.
\thinrule
\section[latex]{LaTeX}
\startitemize
\item
\cite[22-23]{smith.1899}
\item
$2+2=4$
\item
$x \in y$
\item
$\alpha \wedge \omega$
\item
$223$
\item
$p$-Tree
\item
Here's some display math:
\startformula \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} \stopformula
\item
Here's one that has a line break in it: $\alpha + \omega \times x^2$.
\stopitemize
These shouldn't be math:
\startitemize
\item
To get the famous equation, write \type{$e = mc^2$}.
\item
\$22,000 is a {\em lot} of money. So is \$34,000. (It worked if
\quotation{lot} is emphasized.)
\item
Shoes (\$20) and socks (\$5).
\item
Escaped \type{$}: \$73 {\em this should be emphasized} 23\$.
\stopitemize
Here's a LaTeX table:
\thinrule
\section[special-characters]{Special Characters}
Here is some unicode:
\startitemize
\item
I hat: Î
\item
o umlaut: ö
\item
section: §
\item
set membership: ∈
\item
copyright: ©
\stopitemize
AT\&T has an ampersand in their name.
AT\&T is another way to write it.
This \& that.
4 \letterless{} 5.
6 \lettermore{} 5.
Backslash: \letterbackslash{}
Backtick: `
Asterisk: *
Underscore: _
Left brace: \letteropenbrace{}
Right brace: \letterclosebrace{}
Left bracket: {[}
Right bracket: {]}
Left paren: (
Right paren: )
Greater-than: \lettermore{}
Hash: \#
Period: .
Bang: !
Plus: +
Minus: -
\thinrule
\section[links]{Links}
\subsection[explicit]{Explicit}
Just a \useURL[url4][/url/][][URL]\from[url4].
\useURL[url5][/url/][][URL and title]\from[url5].
\useURL[url6][/url/][][URL and title]\from[url6].
\useURL[url7][/url/][][URL and title]\from[url7].
\useURL[url8][/url/][][URL and title]\from[url8]
\useURL[url9][/url/][][URL and title]\from[url9]
\useURL[url10][/url/with_underscore][][with_underscore]\from[url10]
\useURL[url11][mailto:nobody@nowhere.net][][Email link]\from[url11]
\useURL[url12][][][Empty]\from[url12].
\subsection[reference]{Reference}
Foo \useURL[url13][/url/][][bar]\from[url13].
Foo \useURL[url14][/url/][][bar]\from[url14].
Foo \useURL[url15][/url/][][bar]\from[url15].
With \useURL[url16][/url/][][embedded {[}brackets{]}]\from[url16].
\useURL[url17][/url/][][b]\from[url17] by itself should be a link.
Indented \useURL[url18][/url][][once]\from[url18].
Indented \useURL[url19][/url][][twice]\from[url19].
Indented \useURL[url20][/url][][thrice]\from[url20].
This should {[}not{]}{[}{]} be a link.
\starttyping
[not]: /url
\stoptyping
Foo \useURL[url21][/url/][][bar]\from[url21].
Foo \useURL[url22][/url/][][biz]\from[url22].
\subsection[with-ampersands]{With ampersands}
Here's a \useURL[url23][http://example.com/?foo=1&bar=2][][link with an
ampersand in the URL]\from[url23].
Here's a link with an amersand in the link text:
\useURL[url24][http://att.com/][][AT\&T]\from[url24].
Here's an \useURL[url25][/script?foo=1&bar=2][][inline link]\from[url25].
Here's an \useURL[url26][/script?foo=1&bar=2][][inline link in pointy
braces]\from[url26].
\subsection[autolinks]{Autolinks}
With an ampersand:
\useURL[url27][http://example.com/?foo=1&bar=2][][\hyphenatedurl{http://example.com/?foo=1\&bar=2}]\from[url27]
\startitemize
\item
In a list?
\item
\useURL[url28][http://example.com/][][\hyphenatedurl{http://example.com/}]\from[url28]
\item
It should.
\stopitemize
An e-mail address:
\useURL[url29][mailto:nobody@nowhere.net][][\hyphenatedurl{nobody@nowhere.net}]\from[url29]
\startblockquote
Blockquoted:
\useURL[url30][http://example.com/][][\hyphenatedurl{http://example.com/}]\from[url30]
\stopblockquote
Auto-links should not occur here: \type{<http://example.com/>}
\starttyping
or here: <http://example.com/>
\stoptyping
\thinrule
\section[images]{Images}
From \quotation{Voyage dans la Lune} by Georges Melies (1902):
\placefigure[here,nonumber]{lalune}{\externalfigure[lalune.jpg]}
Here is a movie {\externalfigure[movie.jpg]} icon.
\thinrule
\section[footnotes]{Footnotes}
Here is a footnote reference,\footnote{Here is the footnote. It can go
anywhere after the footnote reference. It need not be placed at the end of
the document.} and another.\startbuffer Here's the long note. This one
contains multiple blocks.
Subsequent blocks are indented to show that they belong to the footnote (as
with list items).
\starttyping
{ <code> }
\stoptyping
If you want, you can indent every line, but you can also be lazy and just
indent the first line of each block.\stopbuffer\footnote{\getbuffer} This
should {\em not} be a footnote reference, because it contains a
space.{[}\letterhat{}my note{]} Here is an inline note.\footnote{This is
{\em easier} to type. Inline notes may contain
\useURL[url31][http://google.com][][links]\from[url31] and \type{]} verbatim
characters, as well as {[}bracketed text{]}.}
\startblockquote
Notes can go in quotes.\footnote{In quote.}
\stopblockquote
\startitemize[n][stopper=.]
\item
And in list items.\footnote{In list.}
\stopitemize
This paragraph should not be part of the note, as it is not indented.
\stoptext