pandoc/tests/writer.context
2015-10-20 15:22:52 -07:00

887 lines
15 KiB
Text

% Enable hyperlinks
\setupinteraction
[state=start,
style=normal,
color=black,
contrastcolor=black,
title=Pandoc Test Suite,
author=John MacFarlane; Anonymous]
% make chapter, section bookmarks visible when opening document
\placebookmarks[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][chapter, section]
\setupinteractionscreen[option=bookmark]
\setuptagging[state=start]
\definefontfeature[default][default][protrusion=quality,expansion=quality,onum=yes] % use microtypography
\setupalign[hz,hanging]
\setupbodyfontenvironment[default][em=italic] % use italic as em, not slanted
\setupbodyfont[mainfont]
\setupwhitespace[medium]
\setuphead[chapter] [style=\tfd,header=empty]
\setuphead[section] [style=\tfc]
\setuphead[subsection] [style=\tfb]
\setuphead[subsubsection] [style=\bf]
\setuphead[subsubsubsection] [style=\sc]
\setuphead[subsubsubsubsection][style=\it]
\setuphead[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][number=no]
\definedescription
[description]
[headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm, alternative=hanging]
\setupitemize[autointro] % prevent orphan list intro
\setupitemize[indentnext=no]
\setupfloat[figure][default={here,nonumber}]
\setupfloat[table][default={here,nonumber}]
\setupthinrules[width=15em] % width of horizontal rules
\setuphead[title][
style={\tfd\raggedcenter},
before={\startalignment[middle]},
after={
\smallskip
{\tfa John MacFarlane\crlf Anonymous}
\smallskip
{\tfa July 17, 2006}
\bigskip\stopalignment}]
\starttext
\title{Pandoc Test Suite}
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,packed][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 > 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[packed]
\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[packed]
\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[packed]
\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,packed][stopper=.]
\item
First
\item
Second
\item
Third
\stopitemize
and:
\startitemize[n,packed][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[packed]
\item
Tab
\startitemize[packed]
\item
Tab
\startitemize[packed]
\item
Tab
\stopitemize
\stopitemize
\stopitemize
Here's another:
\startitemize[n,packed][stopper=.]
\item
First
\item
Second:
\startitemize[packed]
\item
Fee
\item
Fie
\item
Foe
\stopitemize
\item
Third
\stopitemize
Same thing but with paragraphs:
\startitemize[n][stopper=.]
\item
First
\item
Second:
\startitemize[packed]
\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,packed][start=4,stopper=.,width=2.0em]
\item
sublist with roman numerals, starting with 4
\item
more items
\startitemize[A,packed][left=(,stopper=),width=2.0em]
\item
a subsublist
\item
a subsublist
\stopitemize
\stopitemize
\stopitemize
Nesting:
\startitemize[A,packed][stopper=.]
\item
Upper Alpha
\startitemize[R,packed][stopper=.]
\item
Upper Roman.
\startitemize[n,packed][start=6,left=(,stopper=),width=2.0em]
\item
Decimal start with 6
\startitemize[a,packed][start=3,stopper=)]
\item
Lower alpha with paren
\stopitemize
\stopitemize
\stopitemize
\stopitemize
Autonumbering:
\startitemize[n,packed]
\item
Autonumber.
\item
More.
\startitemize[a,packed]
\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,packed][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^b c^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[packed]
\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[packed]
\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[packed]
\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 < 5.
6 > 5.
Backslash: \letterbackslash{}
Backtick: `
Asterisk: *
Underscore: _
Left brace: \{
Right brace: \}
Left bracket: {[}
Right bracket: {]}
Left paren: (
Right paren: )
Greater-than: >
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]\from[url27]
\startitemize[packed]
\item
In a list?
\item
\useURL[url28][http://example.com/]\from[url28]
\item
It should.
\stopitemize
An e-mail address:
\useURL[url29][mailto:nobody@nowhere.net][][nobody@nowhere.net]\from[url29]
\startblockquote
Blockquoted: \useURL[url30][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{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.{[}^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,packed][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