pandoc/tests/writer.context
fiddlosopher 5e65598b9e Use wrappers around Doc elements to ensure proper spacing in ConTeXt writer.
Each block element is wrapped with either Pad or Reg.  Pad'ed elements are
guaranteed to have a blank line in between.  Updated ConTeXt tests.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1158 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-12-29 09:31:45 +00:00

834 lines
13 KiB
Text

\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]
% 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{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