0c18f3a854
This change improves output formatting of content with a large amount of force line breaks, such as line-blocks. The following writers are affected: * Dokuwiki * HTML * EPUB (via HTML) * LaTeX * MediaWiki * OpenDocument * Texinfo This commit resolves #1924
620 lines
11 KiB
Text
620 lines
11 KiB
Text
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.
|
||
|
||
<HTML><blockquote>
|
||
Code in a block quote:
|
||
|
||
<code>sub status {
|
||
print "working";
|
||
}</code>
|
||
A list:
|
||
|
||
- item one
|
||
- item two
|
||
|
||
Nested block quotes:
|
||
|
||
> nested
|
||
|
||
> nested
|
||
</blockquote></HTML>
|
||
This should not be a block quote: 2 > 1.
|
||
|
||
And a following paragraph.
|
||
|
||
|
||
----
|
||
|
||
====== Code Blocks ======
|
||
|
||
Code:
|
||
|
||
<code>---- (should be four hyphens)
|
||
|
||
sub status {
|
||
print "working";
|
||
}
|
||
|
||
this code block is indented by one tab</code>
|
||
And:
|
||
|
||
<code> this code block is indented by two tabs
|
||
|
||
These should not be escaped: \$ \\ \> \[ \{</code>
|
||
|
||
----
|
||
|
||
====== 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:
|
||
|
||
<HTML><ol style="list-style-type: decimal;"></HTML>
|
||
<HTML><li></HTML><HTML><p></HTML>Item 1, graf one.<HTML></p></HTML>
|
||
<HTML><p></HTML>Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.<HTML></p></HTML><HTML></li></HTML>
|
||
<HTML><li></HTML><HTML><p></HTML>Item 2.<HTML></p></HTML><HTML></li></HTML>
|
||
<HTML><li></HTML><HTML><p></HTML>Item 3.<HTML></p></HTML><HTML></li></HTML><HTML></ol></HTML>
|
||
|
||
===== 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 =====
|
||
|
||
<HTML><ol start="2" style="list-style-type: decimal;"></HTML>
|
||
<HTML><li></HTML>begins with 2<HTML></li></HTML>
|
||
<HTML><li></HTML><HTML><p></HTML>and now 3<HTML></p></HTML>
|
||
<HTML><p></HTML>with a continuation<HTML></p></HTML>
|
||
<HTML><ol start="4" style="list-style-type: lower-roman;"></HTML>
|
||
<HTML><li></HTML>sublist with roman numerals, starting with 4<HTML></li></HTML>
|
||
<HTML><li></HTML>more items
|
||
<HTML><ol style="list-style-type: upper-alpha;"></HTML>
|
||
<HTML><li></HTML>a subsublist<HTML></li></HTML>
|
||
<HTML><li></HTML>a subsublist<HTML></li></HTML><HTML></ol></HTML>
|
||
<HTML></li></HTML><HTML></ol></HTML>
|
||
<HTML></li></HTML><HTML></ol></HTML>
|
||
|
||
Nesting:
|
||
|
||
<HTML><ol style="list-style-type: upper-alpha;"></HTML>
|
||
<HTML><li></HTML>Upper Alpha
|
||
<HTML><ol style="list-style-type: upper-roman;"></HTML>
|
||
<HTML><li></HTML>Upper Roman.
|
||
<HTML><ol start="6" style="list-style-type: decimal;"></HTML>
|
||
<HTML><li></HTML>Decimal start with 6
|
||
<HTML><ol start="3" style="list-style-type: lower-alpha;"></HTML>
|
||
<HTML><li></HTML>Lower alpha with paren<HTML></li></HTML><HTML></ol></HTML>
|
||
<HTML></li></HTML><HTML></ol></HTML>
|
||
<HTML></li></HTML><HTML></ol></HTML>
|
||
<HTML></li></HTML><HTML></ol></HTML>
|
||
|
||
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:
|
||
|
||
<HTML><dl></HTML>
|
||
<HTML><dt></HTML>//apple//<HTML></dt></HTML>
|
||
<HTML><dd></HTML><HTML><p></HTML>red fruit<HTML></p></HTML>
|
||
<HTML><p></HTML>contains seeds, crisp, pleasant to taste<HTML></p></HTML><HTML></dd></HTML>
|
||
<HTML><dt></HTML>//orange//<HTML></dt></HTML>
|
||
<HTML><dd></HTML><HTML><p></HTML>orange fruit<HTML></p></HTML>
|
||
<code>{ orange code block }</code>
|
||
> <HTML><p></HTML>orange block quote<HTML></p></HTML>
|
||
<HTML></dd></HTML><HTML></dl></HTML>
|
||
|
||
Multiple definitions, tight:
|
||
|
||
* **apple** red fruitcomputer
|
||
* **orange** orange fruitbank
|
||
|
||
Multiple definitions, loose:
|
||
|
||
* **apple** red fruitcomputer
|
||
* **orange** orange fruitbank
|
||
|
||
Blank line after term, indented marker, alternate markers:
|
||
|
||
* **apple** red fruitcomputer
|
||
* **orange** orange fruit
|
||
- sublist
|
||
- sublist
|
||
|
||
====== HTML Blocks ======
|
||
|
||
Simple block on one line:
|
||
|
||
foo
|
||
|
||
And nested without indentation:
|
||
|
||
foo
|
||
|
||
|
||
|
||
bar
|
||
|
||
|
||
Interpreted markdown in a table:
|
||
|
||
<HTML>
|
||
<table>
|
||
<tr>
|
||
<td>
|
||
</HTML>
|
||
This is //emphasized//
|
||
<HTML>
|
||
</td>
|
||
<td>
|
||
</HTML>
|
||
And this is **strong**
|
||
<HTML>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
|
||
</HTML>
|
||
Here’s a simple block:
|
||
|
||
foo
|
||
|
||
|
||
This should be a code block, though:
|
||
|
||
<code><div>
|
||
foo
|
||
</div></code>
|
||
As should this:
|
||
|
||
<code><div>foo</div></code>
|
||
Now, nested:
|
||
|
||
foo
|
||
|
||
|
||
|
||
This should just be an HTML comment:
|
||
|
||
<HTML>
|
||
<!-- Comment -->
|
||
</HTML>
|
||
Multiline:
|
||
|
||
<HTML>
|
||
<!--
|
||
Blah
|
||
Blah
|
||
-->
|
||
<!--
|
||
This is another comment.
|
||
-->
|
||
</HTML>
|
||
Code block:
|
||
|
||
<code><!-- Comment --></code>
|
||
Just plain comment, with trailing spaces on the line:
|
||
|
||
<HTML>
|
||
<!-- foo -->
|
||
</HTML>
|
||
Code:
|
||
|
||
<code><hr /></code>
|
||
Hr’s:
|
||
|
||
<HTML>
|
||
<hr>
|
||
<hr />
|
||
<hr />
|
||
<hr>
|
||
<hr />
|
||
<hr />
|
||
<hr class="foo" id="bar" />
|
||
<hr class="foo" id="bar" />
|
||
<hr class="foo" id="bar">
|
||
</HTML>
|
||
|
||
----
|
||
|
||
====== Inline Markup ======
|
||
|
||
This is //emphasized//, and so //is this//.
|
||
|
||
This is **strong**, and so **is this**.
|
||
|
||
An //[[url|emphasized link]]//.
|
||
|
||
**//This is strong and em.//**
|
||
|
||
So is **//this//** word.
|
||
|
||
**//This is strong and em.//**
|
||
|
||
So is **//this//** word.
|
||
|
||
This is code: ''%%>%%'', ''%%$%%'', ''%%\%%'', ''%%\$%%'', ''%%<html>%%''.
|
||
|
||
<del>This is //strikeout//.</del>
|
||
|
||
Superscripts: a<sup>bc</sup>d a<sup>//hello//</sup> a<sup>hello there</sup>.
|
||
|
||
Subscripts: H<sub>2</sub>O, H<sub>23</sub>O, H<sub>many of them</sub>O.
|
||
|
||
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 “[[http://example.com/?foo=1&bar=2|quoted link]]”.
|
||
|
||
Some dashes: one—two — three—four — five.
|
||
|
||
Dashes between numbers: 5–7, 255–66, 1987–1999.
|
||
|
||
Ellipses…and…and….
|
||
|
||
|
||
----
|
||
|
||
====== LaTeX ======
|
||
|
||
*
|
||
* <math>2+2=4</math>
|
||
* <math>x \in y</math>
|
||
* <math>\alpha \wedge \omega</math>
|
||
* <math>223</math>
|
||
* <math>p</math>-Tree
|
||
* Here’s some display math: <math>\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math>
|
||
* Here’s one that has a line break in it: <math>\alpha + \omega \times x^2</math>.
|
||
|
||
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]].
|
||
|
||
[[url/|URL and title]].
|
||
|
||
[[url/|URL and title]].
|
||
|
||
[[url/|URL and title]].
|
||
|
||
[[url/|URL and title]]
|
||
|
||
[[url/|URL and title]]
|
||
|
||
[[url/with_underscore|with_underscore]]
|
||
|
||
[[mailto:nobody@nowhere.net|Email link]]
|
||
|
||
[[|Empty]].
|
||
|
||
===== Reference =====
|
||
|
||
Foo [[url/|bar]].
|
||
|
||
Foo [[url/|bar]].
|
||
|
||
Foo [[url/|bar]].
|
||
|
||
With [[url/|embedded [brackets]]].
|
||
|
||
[[url/|b]] by itself should be a link.
|
||
|
||
Indented [[url|once]].
|
||
|
||
Indented [[url|twice]].
|
||
|
||
Indented [[url|thrice]].
|
||
|
||
This should [not][] be a link.
|
||
|
||
<code>[not]: /url</code>
|
||
Foo [[url/|bar]].
|
||
|
||
Foo [[url/|biz]].
|
||
|
||
===== With ampersands =====
|
||
|
||
Here’s a [[http://example.com/?foo=1&bar=2|link with an ampersand in the URL]].
|
||
|
||
Here’s a link with an amersand in the link text: [[http://att.com/|AT&T]].
|
||
|
||
Here’s an [[script?foo=1&bar=2|inline link]].
|
||
|
||
Here’s an [[script?foo=1&bar=2|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/>%%''
|
||
|
||
<code>or here: <http://example.com/></code>
|
||
|
||
----
|
||
|
||
====== Images ======
|
||
|
||
From “Voyage dans la Lune” by Georges Melies (1902):
|
||
|
||
{{:lalune.jpg|Voyage dans la Lune lalune}}
|
||
|
||
Here is a movie {{:movie.jpg|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> { <code> }</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 [[http://google.com|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.
|