packages feed

pandoc-1.4: tests/writer.context

\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

Multiple definitions, tight:

\startdescr{apple}
red fruit

computer
\stopdescr

\startdescr{orange}
orange fruit

bank
\stopdescr

Multiple definitions, loose:

\startdescr{apple}
red fruit

computer
\stopdescr

\startdescr{orange}
orange fruit

bank
\stopdescr

Blank line after term, indented marker, alternate markers:

\startdescr{apple}
red fruit

computer
\stopdescr

\startdescr{orange}
orange fruit

\startitemize[n][stopper=.]
\item
  sublist
\item
  sublist
\stopitemize
\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