pandoc/tests/writer.context

880 lines
14 KiB
Text
Raw Normal View History

\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[section] [style=\tfc]
\setuphead[subsection] [style=\tfb]
\setuphead[subsubsection][style=\bf]
\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
\subject{Headers}
\subsubject{Level 2 with an \useURL[1][/url][][embedded link]\from[1]}
\subsubsubject{Level 3 with {\em emphasis}}
\subsubsubsubject{Level 4}
\subsubsubsubsubject{Level 5}
\subject{Level 1}
\subsubject{Level 2 with {\em emphasis}}
\subsubsubject{Level 3}
with no blank line
\subsubject{Level 2}
with no blank line
\thinrule
\subject{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
\subject{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
\subject{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
\subject{Lists}
\subsubject{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
\subsubject{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
\subsubject{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
\subsubject{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
\subsubject{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
\subject{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
\subject{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
\subject{Inline Markup}
This is {\em emphasized}, and so {\em is this}.
This is {\bf strong}, and so {\bf is this}.
An {\em \useURL[2][/url][][emphasized link]\from[2]}.
{\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
\subject{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[3][http://example.com/?foo=1&bar=2][][quoted
link]\from[3]}.
Some dashes: one---two --- three---four --- five.
Dashes between numbers: 5--7, 255--66, 1987--1999.
Ellipses\ldots{}and\ldots{}and\ldots{}.
\thinrule
\subject{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
\subject{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: \letterunderscore{}
Left brace: \letteropenbrace{}
Right brace: \letterclosebrace{}
Left bracket: {[}
Right bracket: {]}
Left paren: (
Right paren: )
Greater-than: \lettermore{}
Hash: \#
Period: .
Bang: !
Plus: +
Minus: -
\thinrule
\subject{Links}
\subsubject{Explicit}
Just a \useURL[4][/url/][][URL]\from[4].
\useURL[5][/url/][][URL and title]\from[5].
\useURL[6][/url/][][URL and title]\from[6].
\useURL[7][/url/][][URL and title]\from[7].
\useURL[8][/url/][][URL and title]\from[8]
\useURL[9][/url/][][URL and title]\from[9]
\useURL[10][/url/with_underscore][][with\letterunderscore{}underscore]\from[10]
\useURL[11][mailto:nobody@nowhere.net][][Email link]\from[11]
\useURL[12][][][Empty]\from[12].
\subsubject{Reference}
Foo \useURL[13][/url/][][bar]\from[13].
Foo \useURL[14][/url/][][bar]\from[14].
Foo \useURL[15][/url/][][bar]\from[15].
With \useURL[16][/url/][][embedded {[}brackets{]}]\from[16].
\useURL[17][/url/][][b]\from[17] by itself should be a link.
Indented \useURL[18][/url][][once]\from[18].
Indented \useURL[19][/url][][twice]\from[19].
Indented \useURL[20][/url][][thrice]\from[20].
This should {[}not{]}{[}{]} be a link.
\starttyping
[not]: /url
\stoptyping
Foo \useURL[21][/url/][][bar]\from[21].
Foo \useURL[22][/url/][][biz]\from[22].
\subsubject{With ampersands}
Here's a \useURL[23][http://example.com/?foo=1&bar=2][][link with an ampersand
in the URL]\from[23].
Here's a link with an amersand in the link text:
\useURL[24][http://att.com/][][AT\&T]\from[24].
Here's an \useURL[25][/script?foo=1&bar=2][][inline link]\from[25].
Here's an \useURL[26][/script?foo=1&bar=2][][inline link in pointy
braces]\from[26].
\subsubject{Autolinks}
With an ampersand:
\useURL[27][http://example.com/?foo=1&bar=2][][http://example.com/?foo=1\&bar=2]\from[27]
\startitemize
\item
In a list?
\item
\useURL[28][http://example.com/][][http://example.com/]\from[28]
\item
It should.
\stopitemize
An e-mail address:
\useURL[29][mailto:nobody@nowhere.net][][nobody@nowhere.net]\from[29]
\startblockquote
Blockquoted: \useURL[30][http://example.com/][][http://example.com/]\from[30]
\stopblockquote
Auto-links should not occur here: \type{<http://example.com/>}
\starttyping
or here: <http://example.com/>
\stoptyping
\thinrule
\subject{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
\subject{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
2011-08-19 04:29:22 +02:00
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
2011-08-19 04:29:22 +02:00
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[31][http://google.com][][links]\from[31] 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