Blame test/rst-reader.rst

Packit dda32d
Pandoc Test Suite
Packit dda32d
#################
Packit dda32d
Subtitle
Packit dda32d
^^^^^^^^
Packit dda32d
Packit dda32d
:Authors: John MacFarlane; Anonymous
Packit dda32d
:Date: July 17, 2006
Packit dda32d
:Revision: 3
Packit dda32d
Packit dda32d
Level one header
Packit dda32d
================
Packit dda32d
Packit dda32d
This is a set of tests for pandoc.  Most of them are adapted from
Packit dda32d
John Gruber's markdown test suite.
Packit dda32d
Packit dda32d
Level two header
Packit dda32d
----------------
Packit dda32d
Packit dda32d
Level three
Packit dda32d
+++++++++++
Packit dda32d
Packit dda32d
Level four with *emphasis*
Packit dda32d
~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit dda32d
Packit dda32d
Level five
Packit dda32d
''''''''''
Packit dda32d
Packit dda32d
Paragraphs
Packit dda32d
==========
Packit dda32d
Packit dda32d
Here's a regular paragraph.
Packit dda32d
Packit dda32d
In Markdown 1.0.0 and earlier. Version
Packit dda32d
8. This line turns into a list item.
Packit dda32d
Because a hard-wrapped line in the
Packit dda32d
middle of a paragraph looked like a
Packit dda32d
list item.
Packit dda32d
Packit dda32d
Here's one with a bullet.
Packit dda32d
* criminey.
Packit dda32d
Packit dda32d
Horizontal rule:
Packit dda32d
Packit dda32d
-----
Packit dda32d
Packit dda32d
Another:
Packit dda32d
Packit dda32d
****
Packit dda32d
Packit dda32d
Block Quotes
Packit dda32d
============
Packit dda32d
Packit dda32d
Here's a block quote:
Packit dda32d
Packit dda32d
  This is a block quote.
Packit dda32d
  It is pretty short.
Packit dda32d
Packit dda32d
Here's another, differently indented:
Packit dda32d
Packit dda32d
    This is a block quote.
Packit dda32d
    It's indented with a tab.
Packit dda32d
Packit dda32d
    Code in a block quote:: 
Packit dda32d
Packit dda32d
        sub status {
Packit dda32d
            print "working";
Packit dda32d
        }
Packit dda32d
Packit dda32d
    List in a block quote:
Packit dda32d
Packit dda32d
    1. item one
Packit dda32d
    2. item two
Packit dda32d
Packit dda32d
    Nested block quotes:
Packit dda32d
Packit dda32d
        nested
Packit dda32d
Packit dda32d
            nested
Packit dda32d
Packit dda32d
Code Blocks
Packit dda32d
===========
Packit dda32d
Packit dda32d
Code:
Packit dda32d
Packit dda32d
::
Packit dda32d
Packit dda32d
    ---- (should be four hyphens)
Packit dda32d
Packit dda32d
    sub status {
Packit dda32d
        print "working";
Packit dda32d
    }
Packit dda32d
Packit dda32d
::
Packit dda32d
Packit dda32d
	this code block is indented by one tab
Packit dda32d
Packit dda32d
And::
Packit dda32d
Packit dda32d
		this block is indented by two tabs
Packit dda32d
Packit dda32d
        These should not be escaped:  \$ \\ \> \[ \{
Packit dda32d
Packit dda32d
And:
Packit dda32d
Packit dda32d
.. code-block:: python
Packit dda32d
Packit dda32d
   def my_function(x):
Packit dda32d
       return x + 1
Packit dda32d
Packit dda32d
Lists
Packit dda32d
=====
Packit dda32d
Packit dda32d
Unordered
Packit dda32d
---------
Packit dda32d
Packit dda32d
Asterisks tight:
Packit dda32d
Packit dda32d
*	asterisk 1
Packit dda32d
*	asterisk 2
Packit dda32d
*	asterisk 3
Packit dda32d
Packit dda32d
Asterisks loose:
Packit dda32d
Packit dda32d
*	asterisk 1
Packit dda32d
Packit dda32d
*	asterisk 2
Packit dda32d
Packit dda32d
*	asterisk 3
Packit dda32d
Packit dda32d
Pluses tight:
Packit dda32d
Packit dda32d
+	Plus 1
Packit dda32d
+	Plus 2
Packit dda32d
+	Plus 3
Packit dda32d
Packit dda32d
Pluses loose:
Packit dda32d
Packit dda32d
+	Plus 1
Packit dda32d
Packit dda32d
+	Plus 2
Packit dda32d
Packit dda32d
+	Plus 3
Packit dda32d
Packit dda32d
Minuses tight:
Packit dda32d
Packit dda32d
-	Minus 1
Packit dda32d
-	Minus 2
Packit dda32d
-	Minus 3
Packit dda32d
Packit dda32d
Minuses loose:
Packit dda32d
Packit dda32d
-	Minus 1
Packit dda32d
Packit dda32d
-	Minus 2
Packit dda32d
Packit dda32d
-	Minus 3
Packit dda32d
Packit dda32d
Ordered
Packit dda32d
-------
Packit dda32d
Packit dda32d
Tight:
Packit dda32d
Packit dda32d
1.	First
Packit dda32d
2.	Second
Packit dda32d
3.	Third
Packit dda32d
Packit dda32d
and:
Packit dda32d
Packit dda32d
1. One
Packit dda32d
2. Two
Packit dda32d
3. Three
Packit dda32d
Packit dda32d
Loose using tabs:
Packit dda32d
Packit dda32d
1.	First
Packit dda32d
Packit dda32d
2.	Second
Packit dda32d
Packit dda32d
3.	Third
Packit dda32d
Packit dda32d
and using spaces:
Packit dda32d
Packit dda32d
1. One
Packit dda32d
Packit dda32d
2. Two
Packit dda32d
Packit dda32d
3. Three
Packit dda32d
Packit dda32d
Multiple paragraphs:
Packit dda32d
Packit dda32d
1.	Item 1, graf one.
Packit dda32d
Packit dda32d
	Item 1. graf two. The quick brown fox jumped over the lazy dog's
Packit dda32d
	back.
Packit dda32d
	
Packit dda32d
2.	Item 2.
Packit dda32d
Packit dda32d
3.	Item 3.
Packit dda32d
Packit dda32d
Nested:
Packit dda32d
Packit dda32d
*	Tab
Packit dda32d
Packit dda32d
	*	Tab
Packit dda32d
Packit dda32d
		*	Tab
Packit dda32d
Packit dda32d
Here's another:
Packit dda32d
Packit dda32d
1. First
Packit dda32d
Packit dda32d
2. Second:
Packit dda32d
Packit dda32d
	* Fee
Packit dda32d
	* Fie
Packit dda32d
	* Foe
Packit dda32d
Packit dda32d
3. Third 
Packit dda32d
Packit dda32d
Fancy list markers
Packit dda32d
------------------
Packit dda32d
Packit dda32d
(2) begins with 2
Packit dda32d
(3) and now 3
Packit dda32d
Packit dda32d
    with a continuation
Packit dda32d
Packit dda32d
    iv. sublist with roman numerals, starting with 4
Packit dda32d
    v.  more items
Packit dda32d
        
Packit dda32d
        (A) a subsublist
Packit dda32d
        (B) a subsublist
Packit dda32d
Packit dda32d
Nesting:
Packit dda32d
Packit dda32d
A.  Upper Alpha
Packit dda32d
    
Packit dda32d
    I.  Upper Roman.
Packit dda32d
        
Packit dda32d
        (6) Decimal start with 6
Packit dda32d
            
Packit dda32d
            c) Lower alpha with paren
Packit dda32d
Packit dda32d
Autonumbering:
Packit dda32d
Packit dda32d
#. Autonumber.
Packit dda32d
#.  More.
Packit dda32d
    
Packit dda32d
    #. Nested.
Packit dda32d
Packit dda32d
Autonumbering with explicit start:
Packit dda32d
Packit dda32d
(d)  item 1
Packit dda32d
(#)  item 2
Packit dda32d
Packit dda32d
Definition
Packit dda32d
----------
Packit dda32d
Packit dda32d
term 1
Packit dda32d
    Definition 1.
Packit dda32d
Packit dda32d
term 2
Packit dda32d
    Definition 2, paragraph 1.
Packit dda32d
Packit dda32d
    Definition 2, paragraph 2.
Packit dda32d
Packit dda32d
term with *emphasis* 
Packit dda32d
    Definition 3.
Packit dda32d
Packit dda32d
Field Lists
Packit dda32d
===========
Packit dda32d
Packit dda32d
 :address:  61 Main St.
Packit dda32d
 :city:  *Nowhere*, MA,
Packit dda32d
    USA
Packit dda32d
 :phone: 123-4567
Packit dda32d
Packit dda32d
:address:  61 Main St.
Packit dda32d
:city:  *Nowhere*, MA,
Packit dda32d
    USA
Packit dda32d
:phone:
Packit dda32d
  123-4567
Packit dda32d
Packit dda32d
HTML Blocks
Packit dda32d
===========
Packit dda32d
Packit dda32d
Simple block on one line:
Packit dda32d
Packit dda32d
.. raw:: html
Packit dda32d
Packit dda32d
    
foo
Packit dda32d
Packit dda32d
Now, nested:
Packit dda32d
Packit dda32d
.. raw:: html
Packit dda32d
Packit dda32d
    
Packit dda32d
	    
Packit dda32d
		    
Packit dda32d
			    foo
Packit dda32d
		    
Packit dda32d
	    
Packit dda32d
    
Packit dda32d
Packit dda32d
LaTeX Block
Packit dda32d
===========
Packit dda32d
Packit dda32d
.. raw:: latex
Packit dda32d
Packit dda32d
   \begin{tabular}{|l|l|}\hline
Packit dda32d
   Animal & Number \\ \hline
Packit dda32d
   Dog    & 2      \\
Packit dda32d
   Cat    & 1      \\ \hline
Packit dda32d
   \end{tabular}
Packit dda32d
Packit dda32d
Inline Markup
Packit dda32d
=============
Packit dda32d
Packit dda32d
This is *emphasized*. This is **strong**.
Packit dda32d
Packit dda32d
This is code: ``>``, ``$``, ``\``, ``\$``, ``<html>``.
Packit dda32d
Packit dda32d
This is\ :sub:`subscripted` and this is :sup:`superscripted`\ .
Packit dda32d
Packit dda32d
Special Characters
Packit dda32d
==================
Packit dda32d
Packit dda32d
Here is some unicode:
Packit dda32d
Packit dda32d
- I hat: ÃŽ
Packit dda32d
- o umlaut: ö
Packit dda32d
- section: § 
Packit dda32d
- set membership: ∈
Packit dda32d
- copyright: ©
Packit dda32d
Packit dda32d
AT&T has an ampersand in their name.
Packit dda32d
Packit dda32d
This & that.
Packit dda32d
Packit dda32d
4 < 5.
Packit dda32d
Packit dda32d
6 > 5.
Packit dda32d
Packit dda32d
Backslash: \\
Packit dda32d
Packit dda32d
Backtick: \`
Packit dda32d
Packit dda32d
Asterisk: \*
Packit dda32d
Packit dda32d
Underscore: \_
Packit dda32d
Packit dda32d
Left brace: \{
Packit dda32d
Packit dda32d
Right brace: \}
Packit dda32d
Packit dda32d
Left bracket: \[
Packit dda32d
Packit dda32d
Right bracket: \]
Packit dda32d
Packit dda32d
Left paren: \(
Packit dda32d
Packit dda32d
Right paren: \)
Packit dda32d
Packit dda32d
Greater-than: \>
Packit dda32d
Packit dda32d
Hash: \#
Packit dda32d
Packit dda32d
Period: \.
Packit dda32d
Packit dda32d
Bang: \!
Packit dda32d
Packit dda32d
Plus: \+
Packit dda32d
Packit dda32d
Minus: \-
Packit dda32d
Packit dda32d
Links
Packit dda32d
=====
Packit dda32d
Packit dda32d
Explicit:  a `URL </url/>`_.
Packit dda32d
Packit dda32d
Explicit with no label:  `<foo>`_.
Packit dda32d
Packit dda32d
Two anonymous links:  `the first`__ and `the second`__
Packit dda32d
Packit dda32d
__ /url1/
Packit dda32d
__ /url2/
Packit dda32d
Packit dda32d
Reference links:  `link1`_ and `link2`_ and link1_ again.
Packit dda32d
Packit dda32d
.. _link1: /url1/
Packit dda32d
.. _`link2`: /url2/
Packit dda32d
Packit dda32d
Another `style of reference link <link1_>`_.
Packit dda32d
Packit dda32d
Here's a `link with an ampersand in the URL`_.
Packit dda32d
Packit dda32d
Here's a link with an amersand in the link text: `AT&T </url/>`_.
Packit dda32d
Packit dda32d
.. _link with an ampersand in the URL: http://example.com/?foo=1&bar=2
Packit dda32d
Packit dda32d
Autolinks: http://example.com/?foo=1&bar=2 and nobody@nowhere.net.
Packit dda32d
Packit dda32d
But not here::
Packit dda32d
Packit dda32d
    http://example.com/
Packit dda32d
Packit dda32d
Images
Packit dda32d
======
Packit dda32d
Packit dda32d
From "Voyage dans la Lune" by Georges Melies (1902):
Packit dda32d
Packit dda32d
.. image:: lalune.jpg
Packit dda32d
Packit dda32d
.. image:: lalune.jpg
Packit dda32d
   :height: 2343
Packit dda32d
   :alt: Voyage dans la Lune
Packit dda32d
Packit dda32d
Here is a movie |movie| icon.
Packit dda32d
Packit dda32d
.. |movie| image:: movie.jpg
Packit dda32d
Packit dda32d
And an |image with a link|.
Packit dda32d
Packit dda32d
.. |image with a link| image:: movie.jpg
Packit dda32d
   :alt:  A movie
Packit dda32d
   :target: /url
Packit dda32d
Packit dda32d
Comments
Packit dda32d
========
Packit dda32d
Packit dda32d
First paragraph
Packit dda32d
Packit dda32d
.. comment
Packit dda32d
Packit dda32d
..
Packit dda32d
    Comment block, should not appear in output
Packit dda32d
    as defined by reStructuredText
Packit dda32d
Packit dda32d
Another paragraph
Packit dda32d
Packit dda32d
..
Packit dda32d
    Another comment block.
Packit dda32d
Packit dda32d
    This one spans several
Packit dda32d
    text elements.
Packit dda32d
Packit dda32d
    It doesn't end until
Packit dda32d
    indentation is restored to the
Packit dda32d
    preceding level.
Packit dda32d
Packit dda32d
A third paragraph
Packit dda32d
Packit dda32d
Line blocks
Packit dda32d
===========
Packit dda32d
Packit dda32d
| But can a bee be said to be
Packit dda32d
|     or not to be an entire bee,
Packit dda32d
|         when half the bee is not a bee,
Packit dda32d
|             due to some ancient injury?
Packit dda32d
|
Packit dda32d
| Continuation
Packit dda32d
 line
Packit dda32d
|   and
Packit dda32d
       another
Packit dda32d
Packit dda32d
Simple Tables
Packit dda32d
=============
Packit dda32d
Packit dda32d
==================  ===========  ==========
Packit dda32d
col 1               col 2        col 3 
Packit dda32d
==================  ===========  ==========
Packit dda32d
r1 a                b            c
Packit dda32d
r2 d                e            f
Packit dda32d
==================  ===========  ==========
Packit dda32d
Packit dda32d
Headless
Packit dda32d
Packit dda32d
==================  ===========  ==========
Packit dda32d
r1 a                b            c
Packit dda32d
r2 d                e            f
Packit dda32d
==================  ===========  ==========
Packit dda32d
Packit dda32d
Packit dda32d
Grid Tables
Packit dda32d
===========
Packit dda32d
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
| col 1            | col 2     | col 3      |
Packit dda32d
+==================+===========+============+
Packit dda32d
| r1 a             | b         | c          |
Packit dda32d
| r1 bis           | b 2       | c 2        |
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
| r2 d             | e         | f          |
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
Packit dda32d
Headless
Packit dda32d
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
| r1 a             | b         | c          |
Packit dda32d
| r1 bis           | b 2       | c 2        |
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
| r2 d             | e         | f          |
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
Packit dda32d
Spaces at ends of lines
Packit dda32d
Packit dda32d
+------------------+-----------+------------+  
Packit dda32d
| r1 a             | b         | c          |
Packit dda32d
| r1 bis           | b 2       | c 2        | 
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
| r2 d             | e         | f          |
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
Packit dda32d
Multiple blocks in a cell
Packit dda32d
Packit dda32d
+------------------+-----------+------------+  
Packit dda32d
| r1 a             | - b       | c          |
Packit dda32d
|                  | - b 2     | c 2        | 
Packit dda32d
| r1 bis           | - b 2     | c 2        | 
Packit dda32d
+------------------+-----------+------------+
Packit dda32d
Packit dda32d
Footnotes
Packit dda32d
=========
Packit dda32d
Packit dda32d
[1]_
Packit dda32d
Packit dda32d
[#]_
Packit dda32d
Packit dda32d
[#]_
Packit dda32d
Packit dda32d
[*]_
Packit dda32d
Packit dda32d
.. [1] Note with one line.
Packit dda32d
Packit dda32d
.. [#] Note with
Packit dda32d
  continuation line.
Packit dda32d
Packit dda32d
.. [#] Note with
Packit dda32d
Packit dda32d
  continuation block.
Packit dda32d
Packit dda32d
.. [*] Note with
Packit dda32d
   continuation line
Packit dda32d
Packit dda32d
   and a second para.
Packit dda32d
Packit dda32d
Not in note.
Packit dda32d
Packit dda32d
Math
Packit dda32d
====
Packit dda32d
Packit dda32d
Some inline math :math:`E=mc^2`\ .  Now some
Packit dda32d
display math:
Packit dda32d
Packit dda32d
.. math:: E=mc^2
Packit dda32d
Packit dda32d
.. math::
Packit dda32d
Packit dda32d
   E = mc^2
Packit dda32d
Packit dda32d
.. math::
Packit dda32d
Packit dda32d
   E = mc^2
Packit dda32d
Packit dda32d
   \alpha = \beta
Packit dda32d
Packit dda32d
.. math::
Packit dda32d
   :label: hithere
Packit dda32d
   :nowrap:
Packit dda32d
Packit dda32d
   E &= mc^2\\
Packit dda32d
   F &= \pi E
Packit dda32d
Packit dda32d
   F &= \gamma \alpha^2
Packit dda32d
Packit dda32d
All done.
Packit dda32d
Packit dda32d
Default-Role
Packit dda32d
============
Packit dda32d
Packit dda32d
Try changing the default role to a few different things.
Packit dda32d
Packit dda32d
.. default-role:: math
Packit dda32d
Packit dda32d
Doesn't Break Title Parsing
Packit dda32d
---------------------------
Packit dda32d
Packit dda32d
Inline math: `E=mc^2` or :math:`E=mc^2` or `E=mc^2`:math:.
Packit dda32d
Other roles: :sup:`super`, `sub`:sub:.
Packit dda32d
Packit dda32d
.. math::
Packit dda32d
    \alpha = beta
Packit dda32d
Packit dda32d
    E = mc^2
Packit dda32d
Packit dda32d
.. default-role:: sup
Packit dda32d
Packit dda32d
Some `of` these :sup:`words` are in `superscript`:sup:.
Packit dda32d
Packit dda32d
Reset default-role to the default default.
Packit dda32d
Packit dda32d
.. default-role::
Packit dda32d
Packit dda32d
And now `some-invalid-string-3231231` is nonsense.
Packit dda32d
Packit dda32d
.. role:: html(raw)
Packit dda32d
   :format: html
Packit dda32d
Packit dda32d
And now with :html:`inline HTML`.
Packit dda32d
Packit dda32d
.. role:: haskell(code)
Packit dda32d
   :language: haskell
Packit dda32d
Packit dda32d
And some inline haskell :haskell:`fmap id [1,2..10]`.
Packit dda32d
Packit dda32d
.. role:: indirect(code)
Packit dda32d
Packit dda32d
.. role:: py(indirect)
Packit dda32d
   :language: python
Packit dda32d
Packit dda32d
Indirect python role :py:`[x*x for x in [1,2,3,4,5]]`.
Packit dda32d
Packit dda32d
.. role:: different-indirect(code)
Packit dda32d
   :language: c
Packit dda32d
Packit dda32d
.. role:: c(different-indirect)
Packit dda32d
Packit dda32d
Different indirect C :c:`int x = 15;`.
Packit dda32d
Packit dda32d
Literal symbols
Packit dda32d
---------------
Packit dda32d
Packit dda32d
2*2 = 4*1