pandoc/tests/writer.context

885 lines
14 KiB
Text
Raw Normal View History

\enableregime[utf] % use UTF-8
\setupcolors[state=start]
\setupinteraction[state=start, color=middleblue] % needed for hyperlinks
\setuppapersize[letter][letter] % use letter paper
\setuplayout[width=middle, backspace=1.5in, cutspace=1.5in,
height=middle, header=0.75in, footer=0.75in] % page layout
\setuppagenumbering[location={footer,center}] % number pages
\setupbodyfont[11pt] % 11pt font
\setupwhitespace[medium] % inter-paragraph spacing
\setuphead[section][style=\tfc]
\setuphead[subsection][style=\tfb]
\setuphead[subsubsection][style=\bf]
% define title block commands
\unprotect
\def\doctitle#1{\gdef\@title{#1}}
\def\author#1{\gdef\@author{#1}}
\def\date#1{\gdef\@date{#1}}
\date{\currentdate} % Default to today unless specified otherwise.
\def\maketitle{%
\startalignment[center]
\blank[2*big]
{\tfd \@title}
\blank[3*medium]
{\tfa \@author}
\blank[2*medium]
{\tfa \@date}
\blank[3*medium]
\stopalignment}
\protect
% define descr (for definition lists)
\definedescription[descr][
headstyle=bold,style=normal,align=left,location=hanging,
width=broad,margin=1cm]
% prevent orphaned list intros
\setupitemize[autointro]
% define defaults for bulleted lists
\setupitemize[1][symbol=1][indentnext=no]
\setupitemize[2][symbol=2][indentnext=no]
\setupitemize[3][symbol=3][indentnext=no]
\setupitemize[4][symbol=4][indentnext=no]
\setupthinrules[width=15em] % width of horizontal rules
% for block quotations
\unprotect
\startvariables all
blockquote: blockquote
\stopvariables
\definedelimitedtext
[\v!blockquote][\v!quotation]
\setupdelimitedtext
[\v!blockquote]
[\c!left=,
\c!right=,
before={\blank[medium]},
after={\blank[medium]},
]
\protect
\doctitle{Pandoc Test Suite}
\author{John MacFarlane \& Anonymous}
\date{July 17, 2006}
\starttext
\maketitle
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:
\startdescr{apple}
red fruit
\stopdescr
\startdescr{orange}
orange fruit
\stopdescr
\startdescr{banana}
yellow fruit
\stopdescr
Tight using tabs:
\startdescr{apple}
red fruit
\stopdescr
\startdescr{orange}
orange fruit
\stopdescr
\startdescr{banana}
yellow fruit
\stopdescr
Loose:
\startdescr{apple}
red fruit
\stopdescr
\startdescr{orange}
orange fruit
\stopdescr
\startdescr{banana}
yellow fruit
\stopdescr
Multiple blocks with italics:
\startdescr{{\em apple}}
red fruit
contains seeds, crisp, pleasant to taste
\stopdescr
\startdescr{{\em orange}}
orange fruit
\starttyping
{ orange code block }
\stoptyping
\startblockquote
orange block quote
\stopblockquote
\stopdescr
\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:
\begin{tabular}{|l|l|}\hline
Animal & Number \\ \hline
Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
\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
[]
[fig:lalune]
{Voyage dans la Lune}
{\externalfigure[lalune.jpg]}
Here is a movie
\placefigure
[]
[fig: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 the document.}
and another.
\footnote{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.}
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