From 831e1c5edd4703b6ab0953a79980e37ea1bee5dc Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 28 Mar 2017 09:51:30 +0200 Subject: Added JATS writer. * New module Text.Pandoc.Writer.JATS exporting writeJATS. * New output format `jats`. * Added tests. * Revised manual. --- test/Tests/Old.hs | 3 + test/tables.jats | 616 +++++++++++++++++++++++ test/writer.jats | 1425 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2044 insertions(+) create mode 100644 test/tables.jats create mode 100644 test/writer.jats (limited to 'test') diff --git a/test/Tests/Old.hs b/test/Tests/Old.hs index 3c473792f..fceb776f7 100644 --- a/test/Tests/Old.hs +++ b/test/Tests/Old.hs @@ -77,6 +77,9 @@ tests = [ testGroup "markdown" , testGroup "docbook5" [ testGroup "writer" $ writerTests "docbook5" ] + , testGroup "jats" + [ testGroup "writer" $ writerTests "jats" + ] , testGroup "native" [ testGroup "writer" $ writerTests "native" , test "reader" ["-r", "native", "-w", "native", "-s"] diff --git a/test/tables.jats b/test/tables.jats new file mode 100644 index 000000000..11f543f17 --- /dev/null +++ b/test/tables.jats @@ -0,0 +1,616 @@ + +

+ Simple table with caption: +

+ + +

+ Demonstration of simple table syntax. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Right +

+
+

+ Left +

+
+

+ Center +

+
+

+ Default +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 1 +

+
+

+ 1 +

+
+

+ 1 +

+
+

+ 1 +

+
+
+

+ 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: +

+ + +

+ Demonstration of simple table syntax. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Right +

+
+

+ Left +

+
+

+ Center +

+
+

+ Default +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 12 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 123 +

+
+

+ 1 +

+
+

+ 1 +

+
+

+ 1 +

+
+

+ 1 +

+
+
+

+ Multiline table with caption: +

+ + +

+ Here’s the caption. It may span multiple lines. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Centered Header +

+
+

+ Left Aligned +

+
+

+ Right Aligned +

+
+

+ Default 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. +

+
+
+

+ Multiline table without caption: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Centered Header +

+
+

+ Left Aligned +

+
+

+ Right Aligned +

+
+

+ Default 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/test/writer.jats b/test/writer.jats new file mode 100644 index 000000000..1703de4aa --- /dev/null +++ b/test/writer.jats @@ -0,0 +1,1425 @@ + + +
+ + + + + + + + + + +Pandoc Test Suite + + +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 + <ext-link ext-link-type="uri" xlink:href="/url">embedded + link</ext-link> + + Level 3 with <italic>emphasis</italic> + + Level 4 + + Level 5 + + + + + + + Level 1 + + Level 2 with <italic>emphasis</italic> + + 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 breakhere. +

+
+ + 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: +

+ + +

+ item one +

+
+ +

+ 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: +

+ + +

+ First +

+
+ +

+ Second +

+
+ +

+ Third +

+
+
+

+ and: +

+ + +

+ One +

+
+ +

+ Two +

+
+ +

+ Three +

+
+
+

+ Loose using tabs: +

+ + +

+ First +

+
+ +

+ Second +

+
+ +

+ Third +

+
+
+

+ and using spaces: +

+ + +

+ One +

+
+ +

+ Two +

+
+ +

+ Three +

+
+
+

+ Multiple paragraphs: +

+ + +

+ Item 1, graf one. +

+

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

+
+ +

+ Item 2. +

+
+ +

+ Item 3. +

+
+
+
+ + Nested + + +

+ Tab +

+ + +

+ Tab +

+ + +

+ Tab +

+
+
+
+
+
+
+

+ Here’s another: +

+ + +

+ First +

+
+ +

+ Second: +

+ + +

+ Fee +

+
+ +

+ Fie +

+
+ +

+ Foe +

+
+
+
+ +

+ Third +

+
+
+

+ Same thing but with paragraphs: +

+ + +

+ First +

+
+ +

+ Second: +

+ + +

+ Fee +

+
+ +

+ Fie +

+
+ +

+ Foe +

+
+
+
+ +

+ 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 + + + +

+ begins with 2 +

+
+ + +

+ and now 3 +

+

+ with a continuation +

+ + + +

+ sublist with roman numerals, starting with 4 +

+
+ + +

+ more items +

+ + + +

+ a subsublist +

+
+ + +

+ a subsublist +

+
+
+
+
+
+
+

+ Nesting: +

+ + +

+ Upper Alpha +

+ + +

+ Upper Roman. +

+ + + +

+ Decimal start with 6 +

+ + + +

+ Lower alpha with paren +

+
+
+
+
+
+
+
+
+

+ Autonumbering: +

+ + +

+ Autonumber. +

+
+ +

+ More. +

+ + +

+ 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 +

+ + +

+ sublist +

+
+ +

+ 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: +

+ <div> + foo +</div> +

+ As should this: +

+ <div>foo</div> +

+ Now, nested: +

+ + + +

+ foo +

+
+
+
+

+ This should just be an HTML comment: +

+

+ Multiline: +

+

+ Code block: +

+ <!-- Comment --> +

+ Just plain comment, with trailing spaces on the line: +

+

+ Code: +

+ <hr /> +

+ 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: >, $, + \, \$, + <html>. +

+

+ 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 +

+
+ +

+ xy +

+
+ +

+ αω +

+
+ +

+ 223 +

+
+ +

+ p-Tree +

+
+ +

+ Here’s some display math: + ddxf(x)=limh0f(x+h)f(x)h +

+
+ +

+ Here’s one that has a line break in it: + α+ω×x2. +

+
+
+

+ 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: + <http://example.com/> +

+ or here: <http://example.com/> +
+
+ + Images +

+ From “Voyage dans la Lune” by Georges Melies (1902): +

+ + lalune + + +

+ Here is a movie + + icon. +

+
+ + Footnotes +

+ Here is a footnote reference, +

+ 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. +

+ 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). +

+ { <code> } +

+ 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 not be a footnote reference, because + it contains a space.[^my note] Here is an inline note. +

+ This is easier to type. Inline notes may contain + links + and ] verbatim characters, as well as + [bracketed text]. +

+
+

+ +

+ Notes can go in quotes. +

+ In quote. +

+ +

+
+ + +

+ And in list items. +

+ In list. +

+ +

+
+
+

+ This paragraph should not be part of the note, as it is not indented. +

+
+ +
-- cgit v1.2.3