From 695961155a00738160b05c25588b6b02f681a18e Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Thu, 18 Mar 2010 06:45:43 +0000 Subject: Added plain writer. Text.Pandoc.Writers.Markdown now exports a writePlain, which writes plain text without links, pictures, or special formatting (not even markdown conventions). git-svn-id: https://pandoc.googlecode.com/svn/trunk@1907 788f1e2b-df1e-0410-8736-df70ead52e1b --- tests/RunTests.hs | 1 + tests/tables.plain | 79 ++++++ tests/writer.markdown | 44 ++-- tests/writer.plain | 698 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 800 insertions(+), 22 deletions(-) create mode 100644 tests/tables.plain create mode 100644 tests/writer.plain (limited to 'tests') diff --git a/tests/RunTests.hs b/tests/RunTests.hs index b880a0627..0b5555ed1 100644 --- a/tests/RunTests.hs +++ b/tests/RunTests.hs @@ -52,6 +52,7 @@ writerFormats = [ "native" , "context" , "texinfo" , "man" + , "plain" , "markdown" , "rst" , "mediawiki" diff --git a/tests/tables.plain b/tests/tables.plain new file mode 100644 index 000000000..a605137d1 --- /dev/null +++ b/tests/tables.plain @@ -0,0 +1,79 @@ +Simple table with caption: + + Right Left Center Default + ------- ------ -------- --------- + 12 12 12 12 + 123 123 123 123 + 1 1 1 1 + + Table: Demonstration of simple table syntax. + +Simple table without caption: + + Right Left Center Default + ------- ------ -------- --------- + 12 12 12 12 + 123 123 123 123 + 1 1 1 1 + +Simple table indented two spaces: + + Right Left Center Default + ------- ------ -------- --------- + 12 12 12 12 + 123 123 123 123 + 1 1 1 1 + + Table: Demonstration of simple table syntax. + +Multiline table with caption: + + -------------------------------------------------------------- + Centered Left Right Default aligned + Header Aligned Aligned + ----------- ---------- ------------ -------------------------- + First row 12.0 Example of a row that + spans multiple lines. + + Second row 5.0 Here's another one. Note + the blank line between + rows. + -------------------------------------------------------------- + + Table: Here's the caption. It may span multiple lines. + +Multiline table without caption: + + -------------------------------------------------------------- + Centered Left Right Default aligned + Header Aligned Aligned + ----------- ---------- ------------ -------------------------- + First row 12.0 Example of a row that + spans multiple lines. + + Second row 5.0 Here's another one. Note + the blank line between + rows. + -------------------------------------------------------------- + +Table without column headers: + + ----- ----- ----- ----- + 12 12 12 12 + 123 123 123 123 + 1 1 1 1 + ----- ----- ----- ----- + +Multiline table without column headers: + + ----------- ---------- ------------ -------------------------- + First row 12.0 Example of a row that + spans multiple lines. + + Second row 5.0 Here's another one. Note + the blank line between + rows. + ----------- ---------- ------------ -------------------------- + + + diff --git a/tests/writer.markdown b/tests/writer.markdown index cf476342c..1bc9b76f0 100644 --- a/tests/writer.markdown +++ b/tests/writer.markdown @@ -281,42 +281,42 @@ B. Williams Tight using spaces: apple -: red fruit + ~ red fruit orange -: orange fruit + ~ orange fruit banana -: yellow fruit + ~ yellow fruit Tight using tabs: apple -: red fruit + ~ red fruit orange -: orange fruit + ~ orange fruit banana -: yellow fruit + ~ yellow fruit Loose: apple -: red fruit + ~ red fruit orange -: orange fruit + ~ orange fruit banana -: yellow fruit + ~ yellow fruit Multiple blocks with italics: *apple* -: red fruit + ~ red fruit contains seeds, crisp, pleasant to taste *orange* -: orange fruit + ~ orange fruit { orange code block } @@ -326,34 +326,34 @@ Multiple blocks with italics: Multiple definitions, tight: apple -: red fruit -: computer + ~ red fruit + ~ computer orange -: orange fruit -: bank + ~ orange fruit + ~ bank Multiple definitions, loose: apple -: red fruit + ~ red fruit -: computer + ~ computer orange -: orange fruit + ~ orange fruit -: bank + ~ bank Blank line after term, indented marker, alternate markers: apple -: red fruit + ~ red fruit -: computer + ~ computer orange -: orange fruit + ~ orange fruit 1. sublist 2. sublist diff --git a/tests/writer.plain b/tests/writer.plain new file mode 100644 index 000000000..27ed0add9 --- /dev/null +++ b/tests/writer.plain @@ -0,0 +1,698 @@ +Pandoc Test Suite +John MacFarlane; Anonymous +July 17, 2006 + +This is a set of tests for pandoc. Most of them are adapted from +John Gruber's markdown test suite. + + +* * * * * + +Headers +======= + +Level 2 with an embedded link +----------------------------- + +Level 3 with emphasis + +Level 4 + +Level 5 + +Level 1 +======= + +Level 2 with emphasis +--------------------- + +Level 3 + +with no blank line + +Level 2 +------- + +with no blank line + + +* * * * * + +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 +here. + + +* * * * * + +Block Quotes +============ + +E-mail style: + + This is a block quote. It is pretty short. + + Code in a block quote: + + sub status { + print "working"; + } + + A list: + + 1. item one + 2. item two + + Nested block quotes: + + nested + + nested + +This should not be a block quote: 2 > 1. + +And a following paragraph. + + +* * * * * + +Code Blocks +=========== + +Code: + + ---- (should be four hyphens) + + sub status { + print "working"; + } + + this code block is indented by one tab + +And: + + this code block is indented by two tabs + + These should not be escaped: \$ \\ \> \[ \{ + + +* * * * * + +Lists +===== + +Unordered +--------- + +Asterisks tight: + +- asterisk 1 +- asterisk 2 +- asterisk 3 + +Asterisks loose: + +- asterisk 1 + +- asterisk 2 + +- asterisk 3 + + +Pluses tight: + +- Plus 1 +- Plus 2 +- Plus 3 + +Pluses loose: + +- Plus 1 + +- Plus 2 + +- Plus 3 + + +Minuses tight: + +- Minus 1 +- Minus 2 +- Minus 3 + +Minuses loose: + +- Minus 1 + +- Minus 2 + +- Minus 3 + + +Ordered +------- + +Tight: + +1. First +2. Second +3. Third + +and: + +1. One +2. Two +3. Three + +Loose using tabs: + +1. First + +2. Second + +3. Third + + +and using spaces: + +1. One + +2. Two + +3. Three + + +Multiple paragraphs: + +1. Item 1, graf one. + + Item 1. graf two. The quick brown fox jumped over the lazy dog's + back. + +2. Item 2. + +3. Item 3. + + +Nested +------ + +- Tab + - Tab + - Tab + + + +Here's another: + +1. First +2. Second: + - Fee + - Fie + - Foe + +3. Third + +Same thing but with paragraphs: + +1. First + +2. Second: + + - Fee + - Fie + - Foe + +3. Third + + +Tabs and spaces +--------------- + +- this is a list item indented with tabs + +- this is a list item indented with spaces + + - this is an example list item indented with tabs + + - this is an example list item indented with spaces + + + +Fancy list markers +------------------ + +(2) begins with 2 +(3) and now 3 + + with a continuation + + iv. sublist with roman numerals, starting with 4 + v. more items + (A) a subsublist + (B) a subsublist + + + +Nesting: + +A. Upper Alpha + I. Upper Roman. + (6) Decimal start with 6 + c) Lower alpha with paren + + + + +Autonumbering: + +1. Autonumber. +2. More. + 1. Nested. + + +Should not be a list item: + +M.A. 2007 + +B. Williams + + +* * * * * + +Definition Lists +================ + +Tight using spaces: + +apple + red fruit +orange + orange fruit +banana + yellow fruit + +Tight using tabs: + +apple + red fruit +orange + orange fruit +banana + yellow fruit + +Loose: + +apple + red fruit + +orange + orange fruit + +banana + yellow fruit + + +Multiple blocks with italics: + +apple + red fruit + + contains seeds, crisp, pleasant to taste + +orange + orange fruit + + { orange code block } + + orange block quote + + +Multiple definitions, tight: + +apple + red fruit + computer +orange + orange fruit + bank + +Multiple definitions, loose: + +apple + red fruit + + computer + +orange + orange fruit + + bank + + +Blank line after term, indented marker, alternate markers: + +apple + red fruit + + computer + +orange + orange fruit + + 1. sublist + 2. sublist + + +HTML Blocks +=========== + +Simple block on one line: + +foo +And nested without indentation: + +foo +bar +Interpreted markdown in a table: + +This is emphasized +And this is strong +Here's a simple block: + +foo +This should be a code block, though: + +
+ foo +
+ +As should this: + +
foo
+ +Now, nested: + +foo +This should just be an HTML comment: + +Multiline: + +Code block: + + + +Just plain comment, with trailing spaces on the line: + +Code: + +
+ +Hr's: + + +* * * * * + +Inline Markup +============= + +This is emphasized, and so is this. + +This is strong, and so is this. + +An emphasized link. + +This is strong and em. + +So is this word. + +This is strong and em. + +So is this word. + +This is code: >, $, \, \$, . + +This is strikeout. + +Superscripts: abcd ahello ahello there. + +Subscripts: H2O, H23O, Hmany of themO. + +These should not be superscripts or subscripts, because of the +unescaped spaces: a^b c^d, a~b c~d. + + +* * * * * + +Smart quotes, ellipses, dashes +============================== + +"Hello," said the spider. "'Shelob' is my name." + +'A', 'B', and 'C' are letters. + +'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' + +'He said, "I want to go."' Were you alive in the 70's? + +Here is some quoted 'code' and a "quoted link". + +Some dashes: one--two -- three--four -- five. + +Dashes between numbers: 5-7, 255-66, 1987-1999. + +Ellipses...and...and.... + + +* * * * * + +LaTeX +===== + +- +- 2+2=4 +- x \in y +- \alpha \wedge \omega +- 223 +- p-Tree +- Here's some display math: + \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} +- Here's one that has a line break in it: + \alpha + \omega \times x^2. + +These shouldn't be math: + +- To get the famous equation, write $e = mc^2$. +- $22,000 is a lot of money. So is $34,000. (It worked if "lot" + is emphasized.) +- Shoes ($20) and socks ($5). +- Escaped $: $73 this should be emphasized 23$. + +Here's a LaTeX table: + + + + +* * * * * + +Special Characters +================== + +Here is some unicode: + +- I hat: Î +- o umlaut: ö +- section: § +- set membership: ∈ +- copyright: © + +AT&T has an ampersand in their name. + +AT&T is another way to write it. + +This & that. + +4 < 5. + +6 > 5. + +Backslash: \ + +Backtick: ` + +Asterisk: * + +Underscore: _ + +Left brace: { + +Right brace: } + +Left bracket: [ + +Right bracket: ] + +Left paren: ( + +Right paren: ) + +Greater-than: > + +Hash: # + +Period: . + +Bang: ! + +Plus: + + +Minus: - + + +* * * * * + +Links +===== + +Explicit +-------- + +Just a URL. + +URL and title. + +URL and title. + +URL and title. + +URL and title + +URL and title + +with_underscore + +Email link + +Empty. + +Reference +--------- + +Foo bar. + +Foo bar. + +Foo bar. + +With embedded [brackets]. + +b by itself should be a link. + +Indented once. + +Indented twice. + +Indented thrice. + +This should [not][] be a link. + + [not]: /url + +Foo bar. + +Foo biz. + +With ampersands +--------------- + +Here's a link with an ampersand in the URL. + +Here's a link with an amersand in the link text: AT&T. + +Here's an inline link. + +Here's an inline link in pointy braces. + +Autolinks +--------- + +With an ampersand: http://example.com/?foo=1&bar=2 + +- In a list? +- http://example.com/ +- It should. + +An e-mail address: nobody@nowhere.net + + Blockquoted: http://example.com/ + +Auto-links should not occur here: + + or here: + + +* * * * * + +Images +====== + +From "Voyage dans la Lune" by Georges Melies (1902): + + + +Here is a movie icon. + + +* * * * * + +Footnotes +========= + +Here is a footnote reference,[^1] and another.[^2] This should not +be a footnote reference, because it contains a space.[^my note] +Here is an inline note.[^3] + + Notes can go in quotes.[^4] + +1. And in list items.[^5] + +This paragraph should not be part of the note, as it is not +indented. + + +[^1]: + Here is the footnote. It can go anywhere after the footnote + reference. It need not be placed at the end of the document. + +[^2]: + 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). + + { } + + If you want, you can indent every line, but you can also be lazy + and just indent the first line of each block. + +[^3]: + This is easier to type. Inline notes may contain links and ] + verbatim characters, as well as [bracketed text]. + +[^4]: + In quote. + +[^5]: + In list. + + -- cgit v1.2.3