packages feed

pandoc-0.42: tests/writer.context

\enableregime[utf]  % use UTF-8

\setupcolors[state=start]
\setupinteraction[state=start, color=middlered] % 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 ltxitem (for bulleted lists)  
\defineitemgroup[ltxitem][levels=4]
\setupitemgroup[ltxitem][1][1]
\setupitemgroup[ltxitem][2][2]
\setupitemgroup[ltxitem][3][3]
\setupitemgroup[ltxitem][4][4,packed]

% define ltxenum (for enumerated lists)
\defineitemgroup[ltxenum][levels=4]
\setupitemgroup[ltxenum][1][n]
\setupitemgroup[ltxenum][2][a]
\setupitemgroup[ltxenum][3][r]
\setupitemgroup[ltxenum][4][A,packed]

\setupthinrules[width=15em]  % width of horizontal rules

% for block quotations
\definestartstop [blockquote]
                 [before={\startnarrower\switchtobodyfont[11pt]
                          \whitespace\setupindenting[no]},
                  after={\stopnarrower\whitespace}]

\setupheads[sectionnumber=no, style=\bf]
\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

\section{Headers}

\subsection{Level 2 with an \useurl[1][/url][][embedded link]\from[1]}

\subsubsection{Level 3 with {\em emphasis}}

Level 4

Level 5

\section{Level 1}

\subsection{Level 2 with {\em emphasis}}

\subsubsection{Level 3}

with no blank line

\subsection{Level 2}

with no blank line

\thinrule

\section{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}

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
\sym{1.} item one
\sym{2.} item two
\stopitemize
Nested block quotes:

\startblockquote
nested

\stopblockquote

\startblockquote
nested

\stopblockquote

\stopblockquote

This should not be a block quote: 2 \lettermore{} 1.

Box-style:

\startblockquote
Example:

\starttyping
sub status {
    print "working";
}
\stoptyping
\stopblockquote

\startblockquote
\startitemize
\sym{1.} do laundry
\sym{2.} take out the trash
\stopitemize
\stopblockquote

Here's a nested one:

\startblockquote
Joe said:

\startblockquote
Don't quote me.

\stopblockquote

\stopblockquote

And a following paragraph.

\thinrule

\section{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}

\subsection{Unordered}

Asterisks tight:

\startltxitem
\item asterisk 1
\item asterisk 2
\item asterisk 3
\stopltxitem
Asterisks loose:

\startltxitem
\item asterisk 1

\item asterisk 2

\item asterisk 3

\stopltxitem
Pluses tight:

\startltxitem
\item Plus 1
\item Plus 2
\item Plus 3
\stopltxitem
Pluses loose:

\startltxitem
\item Plus 1

\item Plus 2

\item Plus 3

\stopltxitem
Minuses tight:

\startltxitem
\item Minus 1
\item Minus 2
\item Minus 3
\stopltxitem
Minuses loose:

\startltxitem
\item Minus 1

\item Minus 2

\item Minus 3

\stopltxitem
\subsection{Ordered}

Tight:

\startitemize
\sym{1.} First
\sym{2.} Second
\sym{3.} Third
\stopitemize
and:

\startitemize
\sym{1.} One
\sym{2.} Two
\sym{3.} Three
\stopitemize
Loose using tabs:

\startitemize
\sym{1.} First

\sym{2.} Second

\sym{3.} Third

\stopitemize
and using spaces:

\startitemize
\sym{1.} One

\sym{2.} Two

\sym{3.} Three

\stopitemize
Multiple paragraphs:

\startitemize
\sym{1.} Item 1, graf one.

Item 1. graf two. The quick brown fox jumped over the lazy dog's back.

\sym{2.} Item 2.

\sym{3.} Item 3.

\stopitemize
\subsection{Nested}

\startltxitem
\item Tab
\startltxitem
\item Tab
\startltxitem
\item Tab
\stopltxitem
\stopltxitem
\stopltxitem
Here's another:

\startitemize
\sym{1.} First
\sym{2.} Second:
\startltxitem
\item Fee
\item Fie
\item Foe
\stopltxitem
\sym{3.} Third
\stopitemize
Same thing but with paragraphs:

\startitemize
\sym{1.} First

\sym{2.} Second:

\startltxitem
\item Fee
\item Fie
\item Foe
\stopltxitem
\sym{3.} Third

\stopitemize
\subsection{Tabs and spaces}

\startltxitem
\item this is a list item indented with tabs

\item this is a list item indented with spaces

\startltxitem
\item this is an example list item indented with tabs

\item this is an example list item indented with spaces

\stopltxitem
\stopltxitem
\subsection{Fancy list markers}

\startitemize[width=2em]
\sym{(2)} begins with 2
\sym{(3)} and now 3

with a continuation

\startitemize[width=2em]
\sym{iv.} sublist with roman numerals, starting with 4
\sym{v.} more items
\startitemize[width=2em]
\sym{(A)} a subsublist
\sym{(B)} a subsublist
\stopitemize
\stopitemize
\stopitemize
Nesting:

\startitemize
\sym{A.} Upper Alpha
\startitemize
\sym{I.} Upper Roman.
\startitemize[width=2em]
\sym{(6)} Decimal start with 6
\startitemize
\sym{c)} Lower alpha with paren
\stopitemize
\stopitemize
\stopitemize
\stopitemize
Autonumbering:

\startltxenum
\item Autonumber.
\item More.
\startltxenum
\item Nested.
\stopltxenum
\stopltxenum
Should not be a list item:

M.A. 2007

B. Williams

\thinrule

\section{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

\section{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}

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

\section{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

\section{Special Characters}

Here is some unicode:

\startltxitem
\item I hat: Î
\item o umlaut: ö
\item section: §
\item set membership: ∈
\item copyright: ©
\stopltxitem
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

\section{Links}

\subsection{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].

\subsection{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].

\subsection{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].

\subsection{Autolinks}

With an ampersand: \useurl[27][http://example.com/?foo=1&bar=2][][http://example.com/?foo=1\&bar=2]\from[27]

\startltxitem
\item In a list?
\item \useurl[28][http://example.com/][][http://example.com/]\from[28]
\item It should.
\stopltxitem
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

\section{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

\section{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
\sym{1.} And in list items.\footnote{In list.

}
\stopitemize
This paragraph should not be part of the note, as it is not indented.


\stoptext