summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/RunTests.hs181
-rw-r--r--tests/biblio.bib26
-rw-r--r--tests/chicago-author-date.csl369
-rw-r--r--tests/html-reader.html6
-rw-r--r--tests/html-reader.native683
-rw-r--r--tests/ieee.csl129
-rw-r--r--tests/latex-reader.latex4
-rw-r--r--tests/latex-reader.native741
-rw-r--r--tests/lhs-test.fragment.html+lhs21
-rw-r--r--tests/lhs-test.html51
-rw-r--r--tests/lhs-test.html+lhs51
-rw-r--r--tests/lhs-test.latex12
-rw-r--r--tests/lhs-test.latex+lhs12
-rw-r--r--tests/lhs-test.markdown18
-rw-r--r--tests/lhs-test.markdown+lhs10
-rw-r--r--tests/lhs-test.native18
-rw-r--r--tests/lhs-test.nohl.html39
-rw-r--r--tests/lhs-test.nohl.html+lhs39
-rw-r--r--tests/lhs-test.rst11
-rw-r--r--tests/lhs-test.rst+lhs11
-rw-r--r--tests/markdown-citations.chicago-author-date.txt43
-rw-r--r--tests/markdown-citations.ieee.txt43
-rw-r--r--tests/markdown-citations.mhra.txt61
-rw-r--r--tests/markdown-citations.txt37
-rw-r--r--tests/markdown-reader-more.native92
-rw-r--r--tests/markdown-reader-more.txt25
-rw-r--r--tests/mhra.csl390
-rw-r--r--tests/rst-reader.native617
-rw-r--r--tests/rst-reader.rst28
-rw-r--r--tests/s5.basic.html2
-rw-r--r--tests/s5.fancy.html2
-rw-r--r--tests/s5.fragment.html2
-rw-r--r--tests/s5.inserts.html2
-rw-r--r--tests/s5.native15
-rw-r--r--tests/tables-rstsubset.native235
-rw-r--r--tests/tables.docbook2
-rw-r--r--tests/tables.html2
-rw-r--r--tests/tables.latex174
-rw-r--r--tests/tables.markdown18
-rw-r--r--tests/tables.mediawiki1
-rw-r--r--tests/tables.native229
-rw-r--r--tests/tables.opendocument38
-rw-r--r--tests/tables.org52
-rw-r--r--tests/tables.plain18
-rw-r--r--tests/tables.rst1
-rw-r--r--tests/tables.rtf1
-rw-r--r--tests/tables.textile212
-rw-r--r--tests/testsuite.native813
-rw-r--r--tests/testsuite.txt11
-rw-r--r--tests/textile-reader.native148
-rw-r--r--tests/textile-reader.textile216
-rw-r--r--tests/writer.context179
-rw-r--r--tests/writer.docbook235
-rw-r--r--tests/writer.html44
-rw-r--r--tests/writer.latex129
-rw-r--r--tests/writer.man47
-rw-r--r--tests/writer.markdown119
-rw-r--r--tests/writer.mediawiki1
-rw-r--r--tests/writer.native813
-rw-r--r--tests/writer.opendocument405
-rw-r--r--tests/writer.org774
-rw-r--r--tests/writer.plain118
-rw-r--r--tests/writer.rst211
-rw-r--r--tests/writer.rtf5
-rw-r--r--tests/writer.texinfo16
-rw-r--r--tests/writer.textile716
66 files changed, 6386 insertions, 3388 deletions
diff --git a/tests/RunTests.hs b/tests/RunTests.hs
deleted file mode 100644
index 1715400fd..000000000
--- a/tests/RunTests.hs
+++ /dev/null
@@ -1,181 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
--- RunTests.hs - run test suite for pandoc
--- This script is designed to be run from the tests directory.
--- It assumes the pandoc executable is in dist/build/pandoc.
---
--- runhaskell -i.. RunTests.hs [lhs]
---
--- If the lhs argument is provided, tests for lhs support will be
--- run. These presuppose that pandoc has been compiled with the
--- -fhighlighting flag, so these tests are not run by default.
---
--- This program assumes that the Diff package has been installed:
--- cabal install Diff
-
-module Main where
-import System.IO ( openTempFile, stderr, stdout, hFlush )
-import System.Process ( runProcess, waitForProcess )
-import System.FilePath ( (</>), (<.>) )
-import System.Directory
-import System.Environment
-import System.Exit
-import Text.Printf
-import Data.Algorithm.Diff
-import Prelude hiding ( readFile )
-import qualified Data.ByteString.Lazy as B
-import Data.ByteString.Lazy.UTF8 (toString, fromString)
-
-readFileUTF8 :: FilePath -> IO String
-readFileUTF8 f = B.readFile f >>= return . toString
-
-pandocPath :: FilePath
-pandocPath = ".." </> "dist" </> "build" </> "pandoc" </> "pandoc"
-
-data TestResult = TestPassed
- | TestError ExitCode
- | TestFailed [(DI, String)]
- deriving (Eq)
-
-instance Show TestResult where
- show TestPassed = "PASSED"
- show (TestError ec) = "ERROR " ++ show ec
- show (TestFailed d) = "FAILED\n" ++ showDiff d
-
-showDiff :: [(DI, String)] -> String
-showDiff [] = ""
-showDiff ((F, ln) : ds) = "|TEST| " ++ ln ++ "\n" ++ showDiff ds
-showDiff ((S, ln) : ds) = "|NORM| " ++ ln ++ "\n" ++ showDiff ds
-showDiff ((B, _ ) : ds) = showDiff ds
-
-writerFormats :: [String]
-writerFormats = [ "native"
- , "html"
- , "docbook"
- , "opendocument"
- , "latex"
- , "context"
- , "texinfo"
- , "man"
- , "plain"
- , "markdown"
- , "rst"
- , "mediawiki"
- , "rtf"
- ]
-
-lhsWriterFormats :: [String]
-lhsWriterFormats = [ "markdown"
- , "markdown+lhs"
- , "rst"
- , "rst+lhs"
- , "latex"
- , "latex+lhs"
- , "html"
- , "html+lhs"
- ]
-
-lhsReaderFormats :: [String]
-lhsReaderFormats = [ "markdown+lhs"
- , "rst+lhs"
- , "latex+lhs"
- ]
-
-main :: IO ()
-main = do
- args <- getArgs
- let runLhsTests = "lhs" `elem` args
- r1s <- mapM runWriterTest writerFormats
- r2 <- runS5WriterTest "basic" ["-s"] "s5"
- r3 <- runS5WriterTest "fancy" ["-s","-m","-i"] "s5"
- r4 <- runS5WriterTest "fragment" [] "html"
- r5 <- runS5WriterTest "inserts" ["-s", "-H", "insert",
- "-B", "insert", "-A", "insert", "-c", "main.css"] "html"
- r6 <- runTest "markdown reader" ["-r", "markdown", "-w", "native", "-s", "-S"]
- "testsuite.txt" "testsuite.native"
- r7 <- runTest "markdown reader (tables)" ["-r", "markdown", "-w", "native"]
- "tables.txt" "tables.native"
- r7a <- runTest "markdown reader (more)" ["-r", "markdown", "-w", "native"]
- "markdown-reader-more.txt" "markdown-reader-more.native"
- r8 <- runTest "rst reader" ["-r", "rst", "-w", "native", "-s", "-S"]
- "rst-reader.rst" "rst-reader.native"
- r8a <- runTest "rst reader (tables)" ["-r", "rst", "-w", "native"]
- "tables.rst" "tables-rstsubset.native"
- r9 <- runTest "html reader" ["-r", "html", "-w", "native", "-s"]
- "html-reader.html" "html-reader.native"
- r10 <- runTest "latex reader" ["-r", "latex", "-w", "native", "-s", "-R"]
- "latex-reader.latex" "latex-reader.native"
- r11 <- runTest "native reader" ["-r", "native", "-w", "native", "-s"]
- "testsuite.native" "testsuite.native"
- r12s <- if runLhsTests
- then mapM runLhsWriterTest lhsWriterFormats
- else putStrLn "Skipping lhs writer tests because they presuppose highlighting support" >> return []
- r13s <- if runLhsTests
- then mapM runLhsReaderTest lhsReaderFormats
- else putStrLn "Skipping lhs reader tests because they presuppose highlighting support" >> return []
- let results = r1s ++
- [ r2, r3, r4, r5 -- S5
- , r6, r7, r7a -- markdown reader
- , r8, r8a -- rst
- , r9 -- html
- , r10 -- latex
- , r11 -- native
- ] ++ r12s ++ r13s
- if all id results
- then do
- putStrLn "\nAll tests passed."
- exitWith ExitSuccess
- else do
- let failures = length $ filter not results
- putStrLn $ "\n" ++ show failures ++ " tests failed."
- exitWith (ExitFailure failures)
-
--- makes sure file is fully closed after reading
-readFile' :: FilePath -> IO String
-readFile' f = do s <- readFileUTF8 f
- return $! (length s `seq` s)
-
-runLhsWriterTest :: String -> IO Bool
-runLhsWriterTest format =
- runTest ("(lhs) " ++ format ++ " writer") ["-r", "native", "-s", "-w", format] "lhs-test.native" ("lhs-test" <.> format)
-
-runLhsReaderTest :: String -> IO Bool
-runLhsReaderTest format =
- runTest ("(lhs) " ++ format ++ " reader") ["-r", format, "-w", "html+lhs"] ("lhs-test" <.> format) "lhs-test.fragment.html+lhs"
-
-runWriterTest :: String -> IO Bool
-runWriterTest format = do
- r1 <- runTest (format ++ " writer") ["-r", "native", "-s", "-w", format] "testsuite.native" ("writer" <.> format)
- r2 <- runTest (format ++ " writer (tables)") ["-r", "native", "-w", format] "tables.native" ("tables" <.> format)
- return (r1 && r2)
-
-runS5WriterTest :: String -> [String] -> String -> IO Bool
-runS5WriterTest modifier opts format = runTest (format ++ " writer (" ++ modifier ++ ")")
- (["-r", "native", "-w", format] ++ opts) "s5.native" ("s5." ++ modifier <.> "html")
-
--- | Run a test, return True if test passed.
-runTest :: String -- ^ Title of test
- -> [String] -- ^ Options to pass to pandoc
- -> String -- ^ Input filepath
- -> FilePath -- ^ Norm (for test results) filepath
- -> IO Bool
-runTest testname opts inp norm = do
- putStr $ printf "%-28s ---> " testname
- (outputPath, hOut) <- openTempFile "" "pandoc-test"
- let inpPath = inp
- let normPath = norm
- hFlush stdout
- -- Note: COLUMNS must be set for markdown table reader
- ph <- runProcess pandocPath (opts ++ [inpPath] ++ ["--data-dir", ".."]) Nothing (Just [("COLUMNS", "80")]) Nothing (Just hOut) (Just stderr)
- ec <- waitForProcess ph
- result <- if ec == ExitSuccess
- then do
- -- filter \r so the tests will work on Windows machines
- outputContents <- readFile' outputPath >>= return . filter (/='\r')
- normContents <- readFile' normPath >>= return . filter (/='\r')
- if outputContents == normContents
- then return TestPassed
- else return $ TestFailed $ getDiff (lines outputContents) (lines normContents)
- else return $ TestError ec
- removeFile outputPath
- B.putStrLn (fromString $ show result)
- return (result == TestPassed)
diff --git a/tests/biblio.bib b/tests/biblio.bib
new file mode 100644
index 000000000..755d535a8
--- /dev/null
+++ b/tests/biblio.bib
@@ -0,0 +1,26 @@
+@Book{item1,
+author="John Doe",
+title="First Book",
+year="2005",
+address="Cambridge",
+publisher="Cambridge University Press"
+}
+
+@Article{item2,
+author="John Doe",
+title="Article",
+year="2006",
+journal="Journal of Generic Studies",
+volume="6",
+pages="33-34"
+}
+
+@InCollection{item3,
+author="John Doe and Jenny Roe",
+title="Why Water Is Wet",
+booktitle="Third Book",
+editor="Sam Smith",
+publisher="Oxford University Press",
+address="Oxford",
+year="2007"
+}
diff --git a/tests/chicago-author-date.csl b/tests/chicago-author-date.csl
new file mode 100644
index 000000000..f16f82305
--- /dev/null
+++ b/tests/chicago-author-date.csl
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">
+ <info>
+ <title>Chicago Manual of Style (Author-Date format)</title>
+ <id>http://www.zotero.org/styles/chicago-author-date</id>
+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>
+ <author>
+ <name>Julian Onions</name>
+ <email>julian.onions@gmail.com</email>
+ </author>
+ <category citation-format="author-date"/>
+ <category field="generic-base"/>
+ <updated>2009-12-04T20:22:16+00:00</updated>
+ <summary>The author-date variant of the Chicago style</summary>
+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
+ </info>
+ <macro name="secondary-contributors">
+ <choose>
+ <if match="none" type="chapter">
+ <group delimiter=". ">
+ <choose>
+ <if variable="author">
+ <names variable="editor">
+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ <choose>
+ <if match="any" variable="author editor">
+ <names variable="translator">
+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="container-contributors">
+ <choose>
+ <if type="chapter">
+ <group delimiter=", " prefix=",">
+ <choose>
+ <if variable="author">
+ <names variable="editor">
+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ <choose>
+ <if match="any" variable="author editor">
+ <names variable="translator">
+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="anon">
+ <choose>
+ <if match="none" variable="author editor translator">
+ <text form="short" term="anonymous" text-case="capitalize-first" />
+ </if>
+ </choose>
+ </macro>
+ <macro name="editor">
+ <names variable="editor">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="short" prefix=", " suffix="." />
+ </names>
+ </macro>
+ <macro name="translator">
+ <names variable="translator">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="verb-short" prefix=", " suffix="." />
+ </names>
+ </macro>
+ <macro name="recipient">
+ <choose>
+ <if type="personal_communication">
+ <choose>
+ <if variable="genre">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ <else>
+ <text term="letter" text-case="capitalize-first" />
+ </else>
+ </choose>
+ </if>
+ </choose>
+ <names delimiter=", " variable="recipient">
+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </macro>
+ <macro name="contributors">
+ <names variable="author">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />
+ <substitute>
+ <text macro="editor" />
+ <text macro="translator" />
+ </substitute>
+ </names>
+ <text macro="anon" />
+ <text macro="recipient" />
+ </macro>
+ <macro name="contributors-short">
+ <names variable="author">
+ <name and="text" delimiter=", " form="short" />
+ <substitute>
+ <names variable="editor" />
+ <names variable="translator" />
+ </substitute>
+ </names>
+ <text macro="anon" />
+ </macro>
+ <macro name="interviewer">
+ <names delimiter=", " variable="interviewer">
+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </macro>
+ <macro name="archive">
+ <group delimiter=". ">
+ <text text-case="capitalize-first" variable="archive_location" />
+ <text variable="archive" />
+ <text variable="archive-place" />
+ </group>
+ </macro>
+ <macro name="access">
+ <group delimiter=". ">
+ <choose>
+ <if match="any" type="graphic report">
+ <text macro="archive" />
+ </if>
+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">
+ <text macro="archive" />
+ </else-if>
+ </choose>
+ <text prefix="doi:" variable="DOI" />
+ <text variable="URL" />
+ </group>
+ </macro>
+ <macro name="title">
+ <choose>
+ <if match="none" variable="title">
+ <choose>
+ <if match="none" type="personal_communication">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ </choose>
+ </if>
+ <else-if type="book">
+ <text font-style="italic" variable="title" />
+ </else-if>
+ <else>
+ <text variable="title" />
+ </else>
+ </choose>
+ </macro>
+ <macro name="edition">
+ <choose>
+ <if match="any" type="book chapter">
+ <choose>
+ <if is-numeric="edition">
+ <group delimiter=" ">
+ <number form="ordinal" variable="edition" />
+ <text form="short" suffix="." term="edition" />
+ </group>
+ </if>
+ <else>
+ <text suffix="." variable="edition" />
+ </else>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="locators">
+ <choose>
+ <if type="article-journal">
+ <text prefix=" " variable="volume" />
+ <text prefix=", no. " variable="issue" />
+ </if>
+ <else-if type="book">
+ <group delimiter=". " prefix=". ">
+ <group>
+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />
+ <number form="numeric" variable="volume" />
+ </group>
+ <group>
+ <number form="numeric" variable="number-of-volumes" />
+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="locators-chapter">
+ <choose>
+ <if type="chapter">
+ <group prefix=", ">
+ <text suffix=":" variable="volume" />
+ <text variable="page" />
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="locators-article">
+ <choose>
+ <if type="article-newspaper">
+ <group delimiter=", " prefix=", ">
+ <group>
+ <text suffix=" " variable="edition" />
+ <text prefix=" " term="edition" />
+ </group>
+ <group>
+ <text form="short" suffix=". " term="section" />
+ <text variable="section" />
+ </group>
+ </group>
+ </if>
+ <else-if type="article-journal">
+ <text prefix=": " variable="page" />
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="point-locators">
+ <group>
+ <choose>
+ <if locator="page" match="none">
+ <label form="short" suffix=" " variable="locator" />
+ </if>
+ </choose>
+ <text variable="locator" />
+ </group>
+ </macro>
+ <macro name="container-prefix">
+ <text term="in" text-case="capitalize-first" />
+ </macro>
+ <macro name="container-title">
+ <choose>
+ <if type="chapter">
+ <text macro="container-prefix" suffix=" " />
+ </if>
+ </choose>
+ <text font-style="italic" variable="container-title" />
+ </macro>
+ <macro name="publisher">
+ <group delimiter=": ">
+ <text variable="publisher-place" />
+ <text variable="publisher" />
+ </group>
+ </macro>
+ <macro name="date">
+ <date variable="issued">
+ <date-part name="year" />
+ </date>
+ </macro>
+ <macro name="day-month">
+ <date variable="issued">
+ <date-part name="month" />
+ <date-part name="day" prefix=" " />
+ </date>
+ </macro>
+ <macro name="collection-title">
+ <text variable="collection-title" />
+ <text prefix=" " variable="collection-number" />
+ </macro>
+ <macro name="event">
+ <group>
+ <text suffix=" " term="presented at" />
+ <text variable="event" />
+ </group>
+ </macro>
+ <macro name="description">
+ <group delimiter=". ">
+ <text macro="interviewer" />
+ <text text-case="capitalize-first" variable="medium" />
+ </group>
+ <choose>
+ <if match="none" variable="title"> </if>
+ <else-if type="thesis"> </else-if>
+ <else>
+ <text prefix=". " text-case="capitalize-first" variable="genre" />
+ </else>
+ </choose>
+ </macro>
+ <macro name="issue">
+ <choose>
+ <if type="article-journal">
+ <text macro="day-month" prefix=" (" suffix=")" />
+ </if>
+ <else-if type="speech">
+ <group delimiter=", " prefix=" ">
+ <text macro="event" />
+ <text macro="day-month" />
+ <text variable="event-place" />
+ </group>
+ </else-if>
+ <else-if match="any" type="article-newspaper article-magazine">
+ <text macro="day-month" prefix=", " />
+ </else-if>
+ <else>
+ <group delimiter=", " prefix=". ">
+ <choose>
+ <if type="thesis">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ </choose>
+ <text macro="publisher" />
+ <text macro="day-month" />
+ </group>
+ </else>
+ </choose>
+ </macro>
+ <citation
+ disambiguate-add-givenname="true"
+ disambiguate-add-names="true"
+ disambiguate-add-year-suffix="true"
+ et-al-min="4"
+ et-al-subsequent-min="4"
+ et-al-subsequent-use-first="1"
+ et-al-use-first="1">
+ <layout delimiter="; " prefix="(" suffix=")">
+ <group delimiter=", ">
+ <group delimiter=" ">
+ <text macro="contributors-short" />
+ <text macro="date" />
+ </group>
+ <text macro="point-locators" />
+ </group>
+ </layout>
+ </citation>
+ <bibliography
+ entry-spacing="0"
+ et-al-min="11"
+ et-al-use-first="7"
+ hanging-indent="true"
+ subsequent-author-substitute="---">
+ <sort>
+ <key macro="contributors" />
+ <key variable="issued" />
+ <key variable="title" />
+ </sort>
+ <layout suffix=".">
+ <text macro="contributors" suffix=". " />
+ <text macro="date" suffix=". " />
+ <text macro="title" />
+ <text macro="description" />
+ <text macro="secondary-contributors" prefix=". " />
+ <text macro="container-title" prefix=". " />
+ <text macro="container-contributors" />
+ <text macro="locators-chapter" />
+ <text macro="edition" prefix=". " />
+ <text macro="locators" />
+ <text macro="collection-title" prefix=". " />
+ <text macro="issue" />
+ <text macro="locators-article" />
+ <text macro="access" prefix=". " />
+ </layout>
+ </bibliography>
+</style>
diff --git a/tests/html-reader.html b/tests/html-reader.html
index da6c075b3..a51ee3307 100644
--- a/tests/html-reader.html
+++ b/tests/html-reader.html
@@ -340,7 +340,7 @@ foo<p>This should just be an HTML comment:</p>
<p>So is <strong><em>this</em></strong> word.</p>
<p><strong><em>This is strong and em.</em></strong></p>
<p>So is <strong><em>this</em></strong> word.</p>
-<p>This is code: <code>></code>, <code>$</code>, <code>\</code>, <code>\$</code>, <code>&lt;html></code>.</p>
+<p>This is code: <code>&gt;</code>, <code>$</code>, <code>\</code>, <code>\$</code>, <code>&lt;html&gt;</code>.</p>
<hr />
<h1>Smart quotes, ellipses, dashes</h1>
<p>"Hello," said the spider. "'Shelob' is my name."</p>
@@ -442,8 +442,8 @@ Email link (nobody [at] nowhere.net)<p><a href="">Empty</a>.</p>
An e-mail address: nobody [at] nowhere.net<blockquote>
<p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p>
</blockquote>
-<p>Auto-links should not occur here: <code>&lt;http://example.com/></code></p>
-<pre><code>or here: &lt;http://example.com/>
+<p>Auto-links should not occur here: <code>&lt;http://example.com/&gt;</code></p>
+<pre><code>or here: &lt;http://example.com/&gt;
</code></pre>
<hr />
<h1>Images</h1>
diff --git a/tests/html-reader.native b/tests/html-reader.native
index ee419d3ac..c7ba26568 100644
--- a/tests/html-reader.native
+++ b/tests/html-reader.native
@@ -1,346 +1,339 @@
Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [], docDate = []})
-[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
-, HorizontalRule
-, Header 1 [Str "Headers"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
-, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 4 [Str "Level",Space,Str "4"]
-, Header 5 [Str "Level",Space,Str "5"]
-, Header 1 [Str "Level",Space,Str "1"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 3 [Str "Level",Space,Str "3"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, Header 2 [Str "Level",Space,Str "2"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, HorizontalRule
-, Header 1 [Str "Paragraphs"]
-, Para [Str "Here's",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
-, Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
-, Para [Str "Here's",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
-, Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Space,Str "here."]
-, HorizontalRule
-, Header 1 [Str "Block",Space,Str "Quotes"]
-, Para [Str "E-mail",Space,Str "style:"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."] ]
-
-, BlockQuote
- [ Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
- , Para [Str "A",Space,Str "list:"]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "item",Space,Str "one"] ]
- , [ Plain [Str "item",Space,Str "two"] ] ]
- , Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
- , BlockQuote
- [ Para [Str "nested"] ]
-
- , BlockQuote
- [ Para [Str "nested"] ]
- ]
-, Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."]
-, Para [Str "Box-style:"]
-, BlockQuote
- [ Para [Str "Example:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ]
-, BlockQuote
- [ OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "do",Space,Str "laundry"] ]
- , [ Plain [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"] ] ] ]
-, Para [Str "Here's",Space,Str "a",Space,Str "nested",Space,Str "one:"]
-, BlockQuote
- [ Para [Str "Joe",Space,Str "said:"]
- , BlockQuote
- [ Para [Str "Don't",Space,Str "quote",Space,Str "me."] ]
- ]
-, Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
-, HorizontalRule
-, Header 1 [Str "Code",Space,Str "Blocks"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
-, Para [Str "And:"]
-, CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
-, HorizontalRule
-, Header 1 [Str "Lists"]
-, Header 2 [Str "Unordered"]
-, Para [Str "Asterisks",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "asterisk",Space,Str "1"] ]
- , [ Plain [Str "asterisk",Space,Str "2"] ]
- , [ Plain [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Asterisks",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Plus",Space,Str "1"] ]
- , [ Plain [Str "Plus",Space,Str "2"] ]
- , [ Plain [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Minus",Space,Str "1"] ]
- , [ Plain [Str "Minus",Space,Str "2"] ]
- , [ Plain [Str "Minus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Header 2 [Str "Ordered"]
-, Para [Str "Tight:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second"] ]
- , [ Plain [Str "Third"] ] ]
-, Para [Str "and:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "One"] ]
- , [ Plain [Str "Two"] ]
- , [ Plain [Str "Three"] ] ]
-, Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and",Space,Str "using",Space,Str "spaces:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Multiple",Space,Str "paragraphs:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
- , Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog's",Space,Str "back."] ], [ Para [Str "Item",Space,Str "2."] ]
- , [ Para [Str "Item",Space,Str "3."] ] ]
-, Header 2 [Str "Nested"]
-, BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"] ]
- ] ] ] ] ]
-, Para [Str "Here's",Space,Str "another:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Plain [Str "Third"] ] ]
-, Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
-, Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
-, BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
- , BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ] ] ] ]
-, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
-, OrderedList (2,Decimal,DefaultDelim)
- [ [ Plain [Str "begins",Space,Str "with",Space,Str "2"] ]
- , [ Para [Str "and",Space,Str "now",Space,Str "3"]
- , Para [Str "with",Space,Str "a",Space,Str "continuation"]
- , OrderedList (4,LowerRoman,DefaultDelim)
- [ [ Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
- , [ Plain [Str "more",Space,Str "items"]
- , OrderedList (1,UpperAlpha,DefaultDelim)
- [ [ Plain [Str "a",Space,Str "subsublist"] ]
- , [ Plain [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
-, Para [Str "Nesting:"]
-, OrderedList (1,UpperAlpha,DefaultDelim)
- [ [ Plain [Str "Upper",Space,Str "Alpha"]
- , OrderedList (1,UpperRoman,DefaultDelim)
- [ [ Plain [Str "Upper",Space,Str "Roman."]
- , OrderedList (6,Decimal,DefaultDelim)
- [ [ Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
- , OrderedList (3,LowerAlpha,DefaultDelim)
- [ [ Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
- ] ] ] ] ] ] ]
-, Para [Str "Autonumbering:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Autonumber."] ]
- , [ Plain [Str "More."]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Nested."] ]
- ] ] ]
-, HorizontalRule
-, Header 2 [Str "Definition"]
-, DefinitionList
- [ ([Str "Violin"],
- [ [ Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument."] ]
- , [ Plain [Str "Torture",Space,Str "device."] ]
- ])
- , ([Str "Cello",LineBreak,Str "Violoncello"],
- [ [ Plain [Str "Low-voiced",Space,Str "stringed",Space,Str "instrument."] ]
- ]) ]
-, HorizontalRule
-, Header 1 [Str "HTML",Space,Str "Blocks"]
-, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
-, Plain [Str "foo"]
-, Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
-, Plain [Str "foobar"]
-, Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
-, Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
-, Para [Str "Here's",Space,Str "a",Space,Str "simple",Space,Str "block:"]
-, Plain [Str "foo"]
-, Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
-, CodeBlock ("",[],[]) "<div>\n foo\n</div>"
-, Para [Str "As",Space,Str "should",Space,Str "this:"]
-, CodeBlock ("",[],[]) "<div>foo</div>"
-, Para [Str "Now,",Space,Str "nested:"]
-, Plain [Str "foo"]
-, Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
-, Para [Str "Multiline:"]
-, Para [Str "Code",Space,Str "block:"]
-, CodeBlock ("",[],[]) "<!-- Comment -->"
-, Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "<hr />"
-, Para [Str "Hr's:"]
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, HorizontalRule
-, Header 1 [Str "Inline",Space,Str "Markup"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
-, Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
-, Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
-, Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
-, HorizontalRule
-, Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
-, Para [Str "\"Hello,\"",Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Str "\"'Shelob'",Space,Str "is",Space,Str "my",Space,Str "name.\""]
-, Para [Str "'A',",Space,Str "'B',",Space,Str "and",Space,Str "'C'",Space,Str "are",Space,Str "letters."]
-, Para [Str "'Oak,'",Space,Str "'elm,'",Space,Str "and",Space,Str "'beech'",Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Str "'pine.'"]
-, Para [Str "'He",Space,Str "said,",Space,Str "\"I",Space,Str "want",Space,Str "to",Space,Str "go.\"'",Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70's?"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Str "'",Code "code",Str "'",Space,Str "and",Space,Str "a",Space,Str "\"",Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2",""),Str "\"."]
-, Para [Str "Some",Space,Str "dashes:",Space,Str "one---two",Space,Str "---",Space,Str "three--four",Space,Str "--",Space,Str "five."]
-, Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5-7,",Space,Str "255-66,",Space,Str "1987-1999."]
-, Para [Str "Ellipses...and.",Space,Str ".",Space,Str ".and",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "."]
-, HorizontalRule
-, Header 1 [Str "LaTeX"]
-, BulletList
- [ [ Plain [Str "\\cite[22-23]{smith.1899}"] ]
- , [ Plain [Str "\\doublespacing"] ]
- , [ Plain [Str "$2+2=4$"] ]
- , [ Plain [Str "$x",Space,Str "\\in",Space,Str "y$"] ]
- , [ Plain [Str "$\\alpha",Space,Str "\\wedge",Space,Str "\\omega$"] ]
- , [ Plain [Str "$223$"] ]
- , [ Plain [Str "$p$-Tree"] ]
- , [ Plain [Str "$\\frac{d}{dx}f(x)=\\lim_{h\\to",Space,Str "0}\\frac{f(x+h)-f(x)}{h}$"] ]
- , [ Plain [Str "Here's",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Str "$\\alpha",Space,Str "+",Space,Str "\\omega",Space,Str "\\times",Space,Str "x^2$."] ] ]
-, Para [Str "These",Space,Str "shouldn't",Space,Str "be",Space,Str "math:"]
-, BulletList
- [ [ Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code "$e = mc^2$",Str "."] ]
- , [ Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Str "\"lot\"",Space,Str "is",Space,Str "emphasized.)"] ]
- , [ Plain [Str "Escaped",Space,Code "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."] ] ]
-, Para [Str "Here's",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
-, Para [Str "\\begin{tabular}{|l|l|}\\hline",Space,Str "Animal",Space,Str "&",Space,Str "Number",Space,Str "\\\\",Space,Str "\\hline",Space,Str "Dog",Space,Str "&",Space,Str "2",Space,Str "\\\\",Space,Str "Cat",Space,Str "&",Space,Str "1",Space,Str "\\\\",Space,Str "\\hline",Space,Str "\\end{tabular}"]
-, HorizontalRule
-, Header 1 [Str "Special",Space,Str "Characters"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
-, BulletList
- [ [ Plain [Str "I",Space,Str "hat:",Space,Str "\206"] ]
- , [ Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"] ]
- , [ Plain [Str "section:",Space,Str "\167"] ]
- , [ Plain [Str "set",Space,Str "membership:",Space,Str "\8712"] ]
- , [ Plain [Str "copyright:",Space,Str "\169"] ] ]
-, Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
-, Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."]
-, Para [Str "This",Space,Str "&",Space,Str "that."]
-, Para [Str "4",Space,Str "<",Space,Str "5."]
-, Para [Str "6",Space,Str ">",Space,Str "5."]
-, Para [Str "Backslash:",Space,Str "\\"]
-, Para [Str "Backtick:",Space,Str "`"]
-, Para [Str "Asterisk:",Space,Str "*"]
-, Para [Str "Underscore:",Space,Str "_"]
-, Para [Str "Left",Space,Str "brace:",Space,Str "{"]
-, Para [Str "Right",Space,Str "brace:",Space,Str "}"]
-, Para [Str "Left",Space,Str "bracket:",Space,Str "["]
-, Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
-, Para [Str "Left",Space,Str "paren:",Space,Str "("]
-, Para [Str "Right",Space,Str "paren:",Space,Str ")"]
-, Para [Str "Greater-than:",Space,Str ">"]
-, Para [Str "Hash:",Space,Str "#"]
-, Para [Str "Period:",Space,Str "."]
-, Para [Str "Bang:",Space,Str "!"]
-, Para [Str "Plus:",Space,Str "+"]
-, Para [Str "Minus:",Space,Str "-"]
-, HorizontalRule
-, Header 1 [Str "Links"]
-, Header 2 [Str "Explicit"]
-, Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
-, Plain [Str "Email",Space,Str "link",Space,Str "(nobody",Space,Str "[at]",Space,Str "nowhere.net)"]
-, Para [Link [Str "Empty"] ("",""),Str "."]
-, Header 2 [Str "Reference"]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "With",Space,Link [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
-, Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
-, Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
-, Para [Str "This",Space,Str "should",Space,Str "[not]",Space,Str "be",Space,Str "a",Space,Str "link."]
-, CodeBlock ("",[],[]) "[not]: /url"
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
-, Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
-, Header 2 [Str "With",Space,Str "ampersands"]
-, Para [Str "Here's",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
-, Para [Str "Here's",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
-, Para [Str "Here's",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
-, Para [Str "Here's",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
-, Header 2 [Str "Autolinks"]
-, Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example.com/?foo=1",Str "&",Str "bar=2"] ("http://example.com/?foo=1&bar=2","")]
-, BulletList
- [ [ Plain [Str "In",Space,Str "a",Space,Str "list?"] ]
- , [ Plain [Link [Str "http://example.com/"] ("http://example.com/","")] ]
- , [ Plain [Str "It",Space,Str "should."] ] ]
-, Plain [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Str "nobody",Space,Str "[at]",Space,Str "nowhere.net"]
-, BlockQuote
- [ Para [Str "Blockquoted:",Space,Link [Str "http://example.com/"] ("http://example.com/","")] ]
-
-, Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code "<http://example.com/>"]
-, CodeBlock ("",[],[]) "or here: <http://example.com/>"
-, HorizontalRule
-, Header 1 [Str "Images"]
-, Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
-, Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
-, HorizontalRule
-, Header 1 [Str "Footnotes"]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Link [Str "(1)"] ("#note_1",""),Str ",",Space,Str "and",Space,Str "another",Link [Str "(longnote)"] ("#note_longnote",""),Str ".",Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space^(my",Space,Str "note)."]
-, Para [Link [Str "(1)"] ("#ref_1",""),Space,Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "in",Space,Str "the",Space,Str "document,",Space,Str "not",Space,Str "just",Space,Str "at",Space,Str "the",Space,Str "end."]
-, Para [Link [Str "(longnote)"] ("#ref_longnote",""),Space,Str "Here's",Space,Str "the",Space,Str "other",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."]
-, Para [Str "Caret",Space,Str "characters",Space,Str "are",Space,Str "used",Space,Str "to",Space,Str "indicate",Space,Str "that",Space,Str "the",Space,Str "blocks",Space,Str "all",Space,Str "belong",Space,Str "to",Space,Str "a",Space,Str "single",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "block",Space,Str "quotes)."]
-, CodeBlock ("",[],[]) " { <code> }"
-, Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "use",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "every",Space,Str "line,",Space,Str "as",Space,Str "with",Space,Str "blockquotes,",Space,Str "but",Space,Str "all",Space,Str "that",Space,Str "you",Space,Str "need",Space,Str "is",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "the",Space,Str "block",Space,Str "and",Space,Str "any",Space,Str "preceding",Space,Str "blank",Space,Str "lines."] ]
+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Str "'",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
+,HorizontalRule
+,Header 1 [Str "Headers"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 4 [Str "Level",Space,Str "4"]
+,Header 5 [Str "Level",Space,Str "5"]
+,Header 1 [Str "Level",Space,Str "1"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 3 [Str "Level",Space,Str "3"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,Header 2 [Str "Level",Space,Str "2"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,HorizontalRule
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
+,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
+,Para [Str "Here",Str "'",Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Space,Str "here",Str "."]
+,HorizontalRule
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
+,BlockQuote
+ [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
+ ,Para [Str "A",Space,Str "list:"]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "item",Space,Str "one"]]
+ ,[Plain [Str "item",Space,Str "two"]]]
+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
+ ,BlockQuote
+ [Para [Str "nested"]]
+ ,BlockQuote
+ [Para [Str "nested"]]]
+,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
+,Para [Str "Box",Str "-",Str "style:"]
+,BlockQuote
+ [Para [Str "Example:"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"]
+,BlockQuote
+ [OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "do",Space,Str "laundry"]]
+ ,[Plain [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
+,BlockQuote
+ [Para [Str "Joe",Space,Str "said:"]
+ ,BlockQuote
+ [Para [Str "Don",Str "'",Str "t",Space,Str "quote",Space,Str "me",Str "."]]]
+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
+,HorizontalRule
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code:"]
+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
+,Para [Str "And:"]
+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,HorizontalRule
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight:"]
+,BulletList
+ [[Plain [Str "asterisk",Space,Str "1"]]
+ ,[Plain [Str "asterisk",Space,Str "2"]]
+ ,[Plain [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Asterisks",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "tight:"]
+,BulletList
+ [[Plain [Str "Plus",Space,Str "1"]]
+ ,[Plain [Str "Plus",Space,Str "2"]]
+ ,[Plain [Str "Plus",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "tight:"]
+,BulletList
+ [[Plain [Str "Minus",Space,Str "1"]]
+ ,[Plain [Str "Minus",Space,Str "2"]]
+ ,[Plain [Str "Minus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second"]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "and:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "One"]]
+ ,[Plain [Str "Two"]]
+ ,[Plain [Str "Three"]]]
+,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and",Space,Str "using",Space,Str "spaces:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Multiple",Space,Str "paragraphs:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Str "'",Str "s",Space,Str "back",Str "."]]
+ ,[Para [Str "Item",Space,Str "2",Str "."]]
+ ,[Para [Str "Item",Space,Str "3",Str "."]]]
+,Header 2 [Str "Nested"]
+,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]]]]]]]
+,Para [Str "Here",Str "'",Str "s",Space,Str "another:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second:"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second:"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Para [Str "Third"]]]
+,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
+,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
+ ,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]]
+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
+,OrderedList (2,Decimal,DefaultDelim)
+ [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
+ ,OrderedList (4,LowerRoman,DefaultDelim)
+ [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]]
+ ,[Plain [Str "more",Space,Str "items"]
+ ,OrderedList (1,UpperAlpha,DefaultDelim)
+ [[Plain [Str "a",Space,Str "subsublist"]]
+ ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
+,Para [Str "Nesting:"]
+,OrderedList (1,UpperAlpha,DefaultDelim)
+ [[Plain [Str "Upper",Space,Str "Alpha"]
+ ,OrderedList (1,UpperRoman,DefaultDelim)
+ [[Plain [Str "Upper",Space,Str "Roman",Str "."]
+ ,OrderedList (6,Decimal,DefaultDelim)
+ [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
+ ,OrderedList (3,LowerAlpha,DefaultDelim)
+ [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
+,Para [Str "Autonumbering:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Autonumber",Str "."]]
+ ,[Plain [Str "More",Str "."]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Nested",Str "."]]]]]
+,HorizontalRule
+,Header 2 [Str "Definition"]
+,DefinitionList
+ [([Str "Violin"],
+ [[Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument",Str "."]]
+ ,[Plain [Str "Torture",Space,Str "device",Str "."]]])
+ ,([Str "Cello",LineBreak,Str "Violoncello"],
+ [[Plain [Str "Low",Str "-",Str "voiced",Space,Str "stringed",Space,Str "instrument",Str "."]]])]
+,HorizontalRule
+,Header 1 [Str "HTML",Space,Str "Blocks"]
+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
+,Plain [Str "foo"]
+,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
+,Plain [Str "foobar"]
+,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
+,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
+,Plain [Str "foo"]
+,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
+,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
+,Para [Str "As",Space,Str "should",Space,Str "this:"]
+,CodeBlock ("",[],[]) "<div>foo</div>"
+,Para [Str "Now,",Space,Str "nested:"]
+,Plain [Str "foo"]
+,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
+,Para [Str "Multiline:"]
+,Para [Str "Code",Space,Str "block:"]
+,CodeBlock ("",[],[]) "<!-- Comment -->"
+,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
+,Para [Str "Code:"]
+,CodeBlock ("",[],[]) "<hr />"
+,Para [Str "Hr",Str "'",Str "s:"]
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,HorizontalRule
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
+,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
+,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
+,HorizontalRule
+,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
+,Para [Str "\"",Str "Hello,",Str "\"",Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Str "\"",Str "'",Str "Shelob",Str "'",Space,Str "is",Space,Str "my",Space,Str "name",Str ".",Str "\""]
+,Para [Str "'",Str "A",Str "'",Str ",",Space,Str "'",Str "B",Str "'",Str ",",Space,Str "and",Space,Str "'",Str "C",Str "'",Space,Str "are",Space,Str "letters",Str "."]
+,Para [Str "'",Str "Oak,",Str "'",Space,Str "'",Str "elm,",Str "'",Space,Str "and",Space,Str "'",Str "beech",Str "'",Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Str "'",Str "pine",Str ".",Str "'"]
+,Para [Str "'",Str "He",Space,Str "said,",Space,Str "\"",Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str ".",Str "\"",Str "'",Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Str "'",Str "s?"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Str "'",Code ("",[],[]) "code",Str "'",Space,Str "and",Space,Str "a",Space,Str "\"",Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2",""),Str "\"",Str "."]
+,Para [Str "Some",Space,Str "dashes:",Space,Str "one",Str "-",Str "-",Str "-",Str "two",Space,Str "-",Str "-",Str "-",Space,Str "three",Str "-",Str "-",Str "four",Space,Str "-",Str "-",Space,Str "five",Str "."]
+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",Str "-",Str "7,",Space,Str "255",Str "-",Str "66,",Space,Str "1987",Str "-",Str "1999",Str "."]
+,Para [Str "Ellipses",Str ".",Str ".",Str ".",Str "and",Str ".",Space,Str ".",Space,Str ".",Str "and",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "."]
+,HorizontalRule
+,Header 1 [Str "LaTeX"]
+,BulletList
+ [[Plain [Str "\\cite[22",Str "-",Str "23]{smith",Str ".",Str "1899}"]]
+ ,[Plain [Str "\\doublespacing"]]
+ ,[Plain [Str "$2+2=4$"]]
+ ,[Plain [Str "$x",Space,Str "\\in",Space,Str "y$"]]
+ ,[Plain [Str "$\\alpha",Space,Str "\\wedge",Space,Str "\\omega$"]]
+ ,[Plain [Str "$223$"]]
+ ,[Plain [Str "$p$",Str "-",Str "Tree"]]
+ ,[Plain [Str "$\\frac{d}{dx}f(x)=\\lim_{h\\to",Space,Str "0}\\frac{f(x+h)",Str "-",Str "f(x)}{h}$"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Str "$\\alpha",Space,Str "+",Space,Str "\\omega",Space,Str "\\times",Space,Str "x^2$",Str "."]]]
+,Para [Str "These",Space,Str "shouldn",Str "'",Str "t",Space,Str "be",Space,Str "math:"]
+,BulletList
+ [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
+ ,[Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$34,000",Str ".",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Str "\"",Str "lot",Str "\"",Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
+ ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$",Str "."]]]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
+,Para [Str "\\begin{tabular}{|l|l|}\\hline",Space,Str "Animal",Space,Str "&",Space,Str "Number",Space,Str "\\\\",Space,Str "\\hline",Space,Str "Dog",Space,Str "&",Space,Str "2",Space,Str "\\\\",Space,Str "Cat",Space,Str "&",Space,Str "1",Space,Str "\\\\",Space,Str "\\hline",Space,Str "\\end{tabular}"]
+,HorizontalRule
+,Header 1 [Str "Special",Space,Str "Characters"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
+,BulletList
+ [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
+ ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]]
+ ,[Plain [Str "section:",Space,Str "\167"]]
+ ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]]
+ ,[Plain [Str "copyright:",Space,Str "\169"]]]
+,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
+,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
+,Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
+,Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
+,Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
+,Para [Str "Backslash:",Space,Str "\\"]
+,Para [Str "Backtick:",Space,Str "`"]
+,Para [Str "Asterisk:",Space,Str "*"]
+,Para [Str "Underscore:",Space,Str "_"]
+,Para [Str "Left",Space,Str "brace:",Space,Str "{"]
+,Para [Str "Right",Space,Str "brace:",Space,Str "}"]
+,Para [Str "Left",Space,Str "bracket:",Space,Str "["]
+,Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
+,Para [Str "Left",Space,Str "paren:",Space,Str "("]
+,Para [Str "Right",Space,Str "paren:",Space,Str ")"]
+,Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
+,Para [Str "Hash:",Space,Str "#"]
+,Para [Str "Period:",Space,Str "."]
+,Para [Str "Bang:",Space,Str "!"]
+,Para [Str "Plus:",Space,Str "+"]
+,Para [Str "Minus:",Space,Str "-"]
+,HorizontalRule
+,Header 1 [Str "Links"]
+,Header 2 [Str "Explicit"]
+,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
+,Plain [Str "Email",Space,Str "link",Space,Str "(nobody",Space,Str "[at]",Space,Str "nowhere",Str ".",Str "net)"]
+,Para [Link [Str "Empty"] ("",""),Str "."]
+,Header 2 [Str "Reference"]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "With",Space,Link [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
+,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
+,Para [Str "This",Space,Str "should",Space,Str "[not]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,CodeBlock ("",[],[]) "[not]: /url"
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
+,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
+,Header 2 [Str "With",Space,Str "ampersands"]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT&T"] ("http://att.com/","AT&T"),Str "."]
+,Para [Str "Here",Str "'",Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Str "'",Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
+,Header 2 [Str "Autolinks"]
+,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example",Str ".",Str "com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
+,BulletList
+ [[Plain [Str "In",Space,Str "a",Space,Str "list?"]]
+ ,[Plain [Link [Str "http://example",Str ".",Str "com/"] ("http://example.com/","")]]
+ ,[Plain [Str "It",Space,Str "should",Str "."]]]
+,Plain [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Str "nobody",Space,Str "[at]",Space,Str "nowhere",Str ".",Str "net"]
+,BlockQuote
+ [Para [Str "Blockquoted:",Space,Link [Str "http://example",Str ".",Str "com/"] ("http://example.com/","")]]
+,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
+,CodeBlock ("",[],[]) "or here: <http://example.com/>"
+,HorizontalRule
+,Header 1 [Str "Images"]
+,Para [Str "From",Space,Str "\"",Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune",Str "\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
+,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
+,HorizontalRule
+,Header 1 [Str "Footnotes"]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Link [Str "(1)"] ("#note_1",""),Str ",",Space,Str "and",Space,Str "another",Link [Str "(longnote)"] ("#note_longnote",""),Str ".",Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space^(my",Space,Str "note)",Str "."]
+,Para [Link [Str "(1)"] ("#ref_1",""),Space,Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "in",Space,Str "the",Space,Str "document,",Space,Str "not",Space,Str "just",Space,Str "at",Space,Str "the",Space,Str "end",Str "."]
+,Para [Link [Str "(longnote)"] ("#ref_longnote",""),Space,Str "Here",Str "'",Str "s",Space,Str "the",Space,Str "other",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."]
+,Para [Str "Caret",Space,Str "characters",Space,Str "are",Space,Str "used",Space,Str "to",Space,Str "indicate",Space,Str "that",Space,Str "the",Space,Str "blocks",Space,Str "all",Space,Str "belong",Space,Str "to",Space,Str "a",Space,Str "single",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "block",Space,Str "quotes)",Str "."]
+,CodeBlock ("",[],[]) " { <code> }"
+,Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "use",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "every",Space,Str "line,",Space,Str "as",Space,Str "with",Space,Str "blockquotes,",Space,Str "but",Space,Str "all",Space,Str "that",Space,Str "you",Space,Str "need",Space,Str "is",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "the",Space,Str "block",Space,Str "and",Space,Str "any",Space,Str "preceding",Space,Str "blank",Space,Str "lines",Str "."]]
diff --git a/tests/ieee.csl b/tests/ieee.csl
new file mode 100644
index 000000000..af57495c8
--- /dev/null
+++ b/tests/ieee.csl
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="numeric" version="1.0">
+ <info>
+ <title>IEEE</title>
+ <id>http://www.zotero.org/styles/ieee</id>
+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>
+ <author>
+ <name>Michael Berkowitz</name>
+ <email>mberkowi@gmu.edu</email>
+ </author>
+ <contributor>
+ <name>Julian Onions</name>
+ <email>julian.onions@gmail.com</email>
+ </contributor>
+ <contributor>
+ <name>Rintze Zelle</name>
+ <uri>http://forums.zotero.org/account/831/</uri>
+ </contributor>
+ <category field="engineering"/>
+ <category field="generic-base"/>
+ <category citation-format="numeric"/>
+ <updated>2010-02-06T06:35:40+00:00</updated>
+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>
+ </info>
+ <macro name="author">
+ <names variable="author">
+ <name initialize-with="." delimiter=", " and="text"/>
+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ </substitute>
+ </names>
+ </macro>
+ <macro name="editor">
+ <names variable="editor">
+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>
+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="title">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <text variable="title" font-style="italic"/>
+ </if>
+ <else>
+ <text variable="title" quotes="true"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="publisher">
+ <text variable="publisher-place" suffix=": "/>
+ <text variable="publisher" suffix=", "/>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </macro>
+ <macro name="access">
+ <text variable="URL"/>
+ </macro>
+ <macro name="page">
+ <group>
+ <label variable="page" form="short" suffix=". " strip-periods="true"/>
+ <text variable="page"/>
+ </group>
+ </macro>
+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">
+ <sort>
+ <key variable="citation-number"/>
+ </sort>
+ <layout delimiter=",">
+ <text variable="citation-number" prefix="[" suffix="]"/>
+ </layout>
+ </citation>
+ <bibliography entry-spacing="0" second-field-align="flush">
+ <layout suffix=".">
+ <text variable="citation-number" prefix="[" suffix="]"/>
+ <text macro="author" prefix=" " suffix=", "/>
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text macro="publisher"/>
+ </group>
+ </if>
+ <else-if type="chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="container-title" font-style="italic"/>
+ <text macro="editor"/>
+ <text macro="publisher"/>
+ <text macro="page"/>
+ </group>
+ </else-if>
+ <else-if type="patent">
+ <text macro="title" suffix=", "/>
+ <text variable="number" prefix="U.S. Patent "/>
+ <date variable="issued" prefix=", ">
+ <date-part name="month" suffix=" "/>
+ <date-part name="day" suffix=", "/>
+ <date-part name="year"/>
+ </date>
+ </else-if>
+ <else-if type="thesis">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="genre"/>
+ <text variable="publisher"/>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </group>
+ </else-if>
+ <else>
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="container-title" font-style="italic"/>
+ <text variable="volume" prefix="vol. "/>
+ <date variable="issued">
+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>
+ <date-part name="year"/>
+ </date>
+ <text macro="page"/>
+ </group>
+ </else>
+ </choose>
+ </layout>
+ </bibliography>
+</style> \ No newline at end of file
diff --git a/tests/latex-reader.latex b/tests/latex-reader.latex
index 589a83e82..135ee57bb 100644
--- a/tests/latex-reader.latex
+++ b/tests/latex-reader.latex
@@ -7,6 +7,8 @@
\newcommand{\textsubscript}[1]{\ensuremath{_{\scriptsize\textrm{#1}}}}
\usepackage[breaklinks=true,unicode=true]{hyperref}
\usepackage[normalem]{ulem}
+% avoid problems with \sout in headers with hyperref:
+\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
\usepackage{enumerate}
\usepackage{fancyvrb}
\usepackage{graphicx}
@@ -71,7 +73,7 @@ E-mail style:
This is a block quote. It is pretty short.
\end{quote}
-\begin{quote}
+\begin {quote}
Code in a block quote:
\begin{verbatim}
diff --git a/tests/latex-reader.native b/tests/latex-reader.native
index 921bf9d77..a5e14dd8f 100644
--- a/tests/latex-reader.native
+++ b/tests/latex-reader.native
@@ -1,377 +1,366 @@
Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
-[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
-, HorizontalRule
-, Header 1 [Str "Headers"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
-, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Para [Str "Level",Space,Str "4"]
-, Para [Str "Level",Space,Str "5"]
-, Header 1 [Str "Level",Space,Str "1"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 3 [Str "Level",Space,Str "3"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, Header 2 [Str "Level",Space,Str "2"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, HorizontalRule
-, Header 1 [Str "Paragraphs"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
-, Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
-, Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
-, HorizontalRule
-, Header 1 [Str "Block",Space,Str "Quotes"]
-, Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."] ]
-
-, BlockQuote
- [ Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
- , Para [Str "A",Space,Str "list:"]
- , OrderedList (1,Decimal,Period)
- [ [ Para [Str "item",Space,Str "one"] ]
- , [ Para [Str "item",Space,Str "two"] ] ]
- , Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
- , BlockQuote
- [ Para [Str "nested"] ]
-
- , BlockQuote
- [ Para [Str "nested"] ]
- ]
-, Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."]
-, Para [Str "Box",Str "-",Str "style:"]
-, BlockQuote
- [ Para [Str "Example:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ]
-, BlockQuote
- [ OrderedList (1,Decimal,Period)
- [ [ Para [Str "do",Space,Str "laundry"] ]
- , [ Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"] ] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
-, BlockQuote
- [ Para [Str "Joe",Space,Str "said:"]
- , BlockQuote
- [ Para [Str "Don",Apostrophe,Str "t",Space,Str "quote",Space,Str "me."] ]
- ]
-, Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
-, HorizontalRule
-, Header 1 [Str "Code",Space,Str "Blocks"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
-, Para [Str "And:"]
-, CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
-, HorizontalRule
-, Header 1 [Str "Lists"]
-, Header 2 [Str "Unordered"]
-, Para [Str "Asterisks",Space,Str "tight:"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Asterisks",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "tight:"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "tight:"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Header 2 [Str "Ordered"]
-, Para [Str "Tight:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and",Space,Str "using",Space,Str "spaces:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Multiple",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
- , Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back."] ], [ Para [Str "Item",Space,Str "2."] ]
- , [ Para [Str "Item",Space,Str "3."] ] ]
-, Header 2 [Str "Nested"]
-, BulletList
- [ [ Para [Str "Tab"]
- , BulletList
- [ [ Para [Str "Tab"]
- , BulletList
- [ [ Para [Str "Tab"] ]
- ] ] ] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second:"]
- , BulletList
- [ [ Para [Str "Fee"] ]
- , [ Para [Str "Fie"] ]
- , [ Para [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
-, Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second:"]
- , BulletList
- [ [ Para [Str "Fee"] ]
- , [ Para [Str "Fie"] ]
- , [ Para [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
-, Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
-, BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
- , BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ] ] ] ]
-, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
-, OrderedList (2,Decimal,TwoParens)
- [ [ Para [Str "begins",Space,Str "with",Space,Str "2"] ]
- , [ Para [Str "and",Space,Str "now",Space,Str "3"]
- , Para [Str "with",Space,Str "a",Space,Str "continuation"]
- , OrderedList (4,LowerRoman,Period)
- [ [ Para [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
- , [ Para [Str "more",Space,Str "items"]
- , OrderedList (1,UpperAlpha,TwoParens)
- [ [ Para [Str "a",Space,Str "subsublist"] ]
- , [ Para [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
-, Para [Str "Nesting:"]
-, OrderedList (1,UpperAlpha,Period)
- [ [ Para [Str "Upper",Space,Str "Alpha"]
- , OrderedList (1,UpperRoman,Period)
- [ [ Para [Str "Upper",Space,Str "Roman."]
- , OrderedList (6,Decimal,TwoParens)
- [ [ Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
- , OrderedList (3,LowerAlpha,OneParen)
- [ [ Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
- ] ] ] ] ] ] ]
-, Para [Str "Autonumbering:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "Autonumber."] ]
- , [ Para [Str "More."]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Para [Str "Nested."] ]
- ] ] ]
-, Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
-, Para [Str "M.A.",Space,Str "2007"]
-, Para [Str "B.",Space,Str "Williams"]
-, HorizontalRule
-, Header 1 [Str "Definition",Space,Str "Lists"]
-, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Para [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Para [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Loose:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Para [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
-, DefinitionList
- [ ([Emph [Str "apple"]],
- [ [ Para [Str "red",Space,Str "fruit"]
- , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
- , ([Emph [Str "orange"]],
- [ [ Para [Str "orange",Space,Str "fruit"]
- , CodeBlock ("",[],[]) "{ orange code block }"
- , BlockQuote
- [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
- ]]) ]
-, Header 1 [Str "HTML",Space,Str "Blocks"]
-, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
-, Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
-, Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],Space,Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
-, Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
-, CodeBlock ("",[],[]) "<div>\n foo\n</div>"
-, Para [Str "As",Space,Str "should",Space,Str "this:"]
-, CodeBlock ("",[],[]) "<div>foo</div>"
-, Para [Str "Now,",Space,Str "nested:"]
-, Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
-, Para [Str "Multiline:"]
-, Para [Str "Code",Space,Str "block:"]
-, CodeBlock ("",[],[]) "<!-- Comment -->"
-, Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "<hr />"
-, Para [Str "Hr",Apostrophe,Str "s:"]
-, HorizontalRule
-, Header 1 [Str "Inline",Space,Str "Markup"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
-, Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
-, Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
-, Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
-, Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
-, Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str "."]
-, Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O."]
-, Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d,",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d."]
-, HorizontalRule
-, Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
-, Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
-, Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
-, Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
-, Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
-, Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",EmDash,Str "three",EmDash,Str "four",EmDash,Str "five."]
-, Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999."]
-, Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
-, HorizontalRule
-, Header 1 [Str "LaTeX"]
-, BulletList
- [ [ Para [TeX "\\cite[22-23]{smith.1899}"] ]
- , [ Para [TeX "\\doublespacing"] ]
- , [ Para [Math InlineMath "2+2=4"] ]
- , [ Para [Math InlineMath "x \\in y"] ]
- , [ Para [Math InlineMath "\\alpha \\wedge \\omega"] ]
- , [ Para [Math InlineMath "223"] ]
- , [ Para [Math InlineMath "p",Str "-",Str "Tree"] ]
- , [ Para [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"] ]
- , [ Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."] ] ]
-, Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
-, BulletList
- [ [ Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code "$e = mc^2$",Str "."] ]
- , [ Para [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"] ]
- , [ Para [Str "Escaped",Space,Code "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
-, Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"]
-, HorizontalRule
-, Header 1 [Str "Special",Space,Str "Characters"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
-, BulletList
- [ [ Para [Str "I",Space,Str "hat:",Space,Str "\206"] ]
- , [ Para [Str "o",Space,Str "umlaut:",Space,Str "\246"] ]
- , [ Para [Str "section:",Space,Str "\167"] ]
- , [ Para [Str "set",Space,Str "membership:",Space,Str "\8712"] ]
- , [ Para [Str "copyright:",Space,Str "\169"] ] ]
-, Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
-, Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."]
-, Para [Str "This",Space,Str "&",Space,Str "that."]
-, Para [Str "4",Space,Str "<",Space,Str "5."]
-, Para [Str "6",Space,Str ">",Space,Str "5."]
-, Para [Str "Backslash:",Space,Str "\\"]
-, Para [Str "Backtick:",Space,Str "`"]
-, Para [Str "Asterisk:",Space,Str "*"]
-, Para [Str "Underscore:",Space,Str "_"]
-, Para [Str "Left",Space,Str "brace:",Space,Str "{"]
-, Para [Str "Right",Space,Str "brace:",Space,Str "}"]
-, Para [Str "Left",Space,Str "bracket:",Space,Str "["]
-, Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
-, Para [Str "Left",Space,Str "paren:",Space,Str "("]
-, Para [Str "Right",Space,Str "paren:",Space,Str ")"]
-, Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
-, Para [Str "Hash:",Space,Str "#"]
-, Para [Str "Period:",Space,Str "."]
-, Para [Str "Bang:",Space,Str "!"]
-, Para [Str "Plus:",Space,Str "+"]
-, Para [Str "Minus:",Space,Str "-"]
-, HorizontalRule
-, Header 1 [Str "Links"]
-, Header 2 [Str "Explicit"]
-, Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
-, Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
-, Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
-, Para [Link [Str "Empty"] ("",""),Str "."]
-, Header 2 [Str "Reference"]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "With",Space,Link [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
-, Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
-, Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
-, Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."]
-, CodeBlock ("",[],[]) "[not]: /url"
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
-, Header 2 [Str "With",Space,Str "ampersands"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
-, Header 2 [Str "Autolinks"]
-, Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
-, BulletList
- [ [ Para [Str "In",Space,Str "a",Space,Str "list?"] ]
- , [ Para [Link [Code "http://example.com/"] ("http://example.com/","")] ]
- , [ Para [Str "It",Space,Str "should."] ] ]
-, Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Link [Code "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
-, BlockQuote
- [ Para [Str "Blockquoted:",Space,Link [Code "http://example.com/"] ("http://example.com/","")] ]
-
-, Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code "<http://example.com/>"]
-, CodeBlock ("",[],[]) "or here: <http://example.com/>"
-, HorizontalRule
-, Header 1 [Str "Images"]
-, Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
-, Para [Image [Str "image"] ("lalune.jpg","")]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
-, HorizontalRule
-, Header 1 [Str "Footnotes"]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.[",Str "^",Str "my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]]
-, BlockQuote
- [ Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]] ]
-
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]] ]
- ]
-, Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."] ]
+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
+,HorizontalRule
+,Header 1 [Str "Headers"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Para [Str "Level",Space,Str "4"]
+,Para [Str "Level",Space,Str "5"]
+,Header 1 [Str "Level",Space,Str "1"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 3 [Str "Level",Space,Str "3"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,Header 2 [Str "Level",Space,Str "2"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,HorizontalRule
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
+,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
+,HorizontalRule
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]]
+,BlockQuote
+ [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
+ ,Para [Str "A",Space,Str "list:"]
+ ,OrderedList (1,Decimal,Period)
+ [[Para [Str "item",Space,Str "one"]]
+ ,[Para [Str "item",Space,Str "two"]]]
+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
+ ,BlockQuote
+ [Para [Str "nested"]]
+ ,BlockQuote
+ [Para [Str "nested"]]]
+,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."]
+,Para [Str "Box",Str "-",Str "style:"]
+,BlockQuote
+ [Para [Str "Example:"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"]
+,BlockQuote
+ [OrderedList (1,Decimal,Period)
+ [[Para [Str "do",Space,Str "laundry"]]
+ ,[Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
+,BlockQuote
+ [Para [Str "Joe",Space,Str "said:"]
+ ,BlockQuote
+ [Para [Str "Don",Apostrophe,Str "t",Space,Str "quote",Space,Str "me."]]]
+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
+,HorizontalRule
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code:"]
+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
+,Para [Str "And:"]
+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,HorizontalRule
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight:"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Asterisks",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "tight:"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "tight:"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "loose:"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and",Space,Str "using",Space,Str "spaces:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Multiple",Space,Str "paragraphs:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
+ ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back."]]
+ ,[Para [Str "Item",Space,Str "2."]]
+ ,[Para [Str "Item",Space,Str "3."]]]
+,Header 2 [Str "Nested"]
+,BulletList
+ [[Para [Str "Tab"]
+ ,BulletList
+ [[Para [Str "Tab"]
+ ,BulletList
+ [[Para [Str "Tab"]]]]]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second:"]
+ ,BulletList
+ [[Para [Str "Fee"]]
+ ,[Para [Str "Fie"]]
+ ,[Para [Str "Foe"]]]]
+ ,[Para [Str "Third"]]]
+,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second:"]
+ ,BulletList
+ [[Para [Str "Fee"]]
+ ,[Para [Str "Fie"]]
+ ,[Para [Str "Foe"]]]]
+ ,[Para [Str "Third"]]]
+,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
+,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
+ ,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]]
+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
+,OrderedList (2,Decimal,TwoParens)
+ [[Para [Str "begins",Space,Str "with",Space,Str "2"]]
+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
+ ,OrderedList (4,LowerRoman,Period)
+ [[Para [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]]
+ ,[Para [Str "more",Space,Str "items"]
+ ,OrderedList (1,UpperAlpha,TwoParens)
+ [[Para [Str "a",Space,Str "subsublist"]]
+ ,[Para [Str "a",Space,Str "subsublist"]]]]]]]
+,Para [Str "Nesting:"]
+,OrderedList (1,UpperAlpha,Period)
+ [[Para [Str "Upper",Space,Str "Alpha"]
+ ,OrderedList (1,UpperRoman,Period)
+ [[Para [Str "Upper",Space,Str "Roman."]
+ ,OrderedList (6,Decimal,TwoParens)
+ [[Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
+ ,OrderedList (3,LowerAlpha,OneParen)
+ [[Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
+,Para [Str "Autonumbering:"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "Autonumber."]]
+ ,[Para [Str "More."]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Para [Str "Nested."]]]]]
+,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
+,Para [Str "M.A.",Space,Str "2007"]
+,Para [Str "B.",Space,Str "Williams"]
+,HorizontalRule
+,Header 1 [Str "Definition",Space,Str "Lists"]
+,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Para [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Para [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Loose:"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Para [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
+,DefinitionList
+ [([Emph [Str "apple"]],
+ [[Para [Str "red",Space,Str "fruit"]
+ ,Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]])
+ ,([Emph [Str "orange"]],
+ [[Para [Str "orange",Space,Str "fruit"]
+ ,CodeBlock ("",[],[]) "{ orange code block }"
+ ,BlockQuote
+ [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
+,Header 1 [Str "HTML",Space,Str "Blocks"]
+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
+,Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
+,Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],Space,Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
+,Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
+,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
+,Para [Str "As",Space,Str "should",Space,Str "this:"]
+,CodeBlock ("",[],[]) "<div>foo</div>"
+,Para [Str "Now,",Space,Str "nested:"]
+,Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
+,Para [Str "Multiline:"]
+,Para [Str "Code",Space,Str "block:"]
+,CodeBlock ("",[],[]) "<!-- Comment -->"
+,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
+,Para [Str "Code:"]
+,CodeBlock ("",[],[]) "<hr />"
+,Para [Str "Hr",Apostrophe,Str "s:"]
+,HorizontalRule
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
+,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
+,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
+,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
+,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
+,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str "."]
+,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O."]
+,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d,",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d."]
+,HorizontalRule
+,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
+,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
+,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
+,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
+,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
+,Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",EmDash,Str "three",EmDash,Str "four",EmDash,Str "five."]
+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999."]
+,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
+,HorizontalRule
+,Header 1 [Str "LaTeX"]
+,BulletList
+ [[Para [Cite [Citation {citationId = "smith.1899", citationPrefix = [], citationSuffix = [Str "22",Str "-",Str "23"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] []]]
+ ,[Para [RawInline "latex" "\\doublespacing"]]
+ ,[Para [Math InlineMath "2+2=4"]]
+ ,[Para [Math InlineMath "x \\in y"]]
+ ,[Para [Math InlineMath "\\alpha \\wedge \\omega"]]
+ ,[Para [Math InlineMath "223"]]
+ ,[Para [Math InlineMath "p",Str "-",Str "Tree"]]
+ ,[Para [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
+ ,[Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
+,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
+,BulletList
+ [[Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
+ ,[Para [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]]
+ ,[Para [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
+,Table [] [AlignLeft,AlignLeft] [0.0,0.0]
+ [[Plain [Str "Animal"]]
+ ,[Plain [Str "Number"]]]
+ [[[Plain [Str "Dog"]]
+ ,[Plain [Str "2"]]]
+ ,[[Plain [Str "Cat"]]
+ ,[Plain [Str "1"]]]]
+,HorizontalRule
+,Header 1 [Str "Special",Space,Str "Characters"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
+,BulletList
+ [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]]
+ ,[Para [Str "o",Space,Str "umlaut:",Space,Str "\246"]]
+ ,[Para [Str "section:",Space,Str "\167"]]
+ ,[Para [Str "set",Space,Str "membership:",Space,Str "\8712"]]
+ ,[Para [Str "copyright:",Space,Str "\169"]]]
+,Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
+,Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."]
+,Para [Str "This",Space,Str "&",Space,Str "that."]
+,Para [Str "4",Space,Str "<",Space,Str "5."]
+,Para [Str "6",Space,Str ">",Space,Str "5."]
+,Para [Str "Backslash:",Space,Str "\\"]
+,Para [Str "Backtick:",Space,Str "`"]
+,Para [Str "Asterisk:",Space,Str "*"]
+,Para [Str "Underscore:",Space,Str "_"]
+,Para [Str "Left",Space,Str "brace:",Space,Str "{"]
+,Para [Str "Right",Space,Str "brace:",Space,Str "}"]
+,Para [Str "Left",Space,Str "bracket:",Space,Str "["]
+,Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
+,Para [Str "Left",Space,Str "paren:",Space,Str "("]
+,Para [Str "Right",Space,Str "paren:",Space,Str ")"]
+,Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
+,Para [Str "Hash:",Space,Str "#"]
+,Para [Str "Period:",Space,Str "."]
+,Para [Str "Bang:",Space,Str "!"]
+,Para [Str "Plus:",Space,Str "+"]
+,Para [Str "Minus:",Space,Str "-"]
+,HorizontalRule
+,Header 1 [Str "Links"]
+,Header 2 [Str "Explicit"]
+,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
+,Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
+,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
+,Para [Link [Str "Empty"] ("",""),Str "."]
+,Header 2 [Str "Reference"]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
+,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
+,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
+,Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link."]
+,CodeBlock ("",[],[]) "[not]: /url"
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
+,Header 2 [Str "With",Space,Str "ampersands"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
+,Header 2 [Str "Autolinks"]
+,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
+,BulletList
+ [[Para [Str "In",Space,Str "a",Space,Str "list?"]]
+ ,[Para [Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+ ,[Para [Str "It",Space,Str "should."]]]
+,Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Link [Code ("",[],[]) "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
+,BlockQuote
+ [Para [Str "Blockquoted:",Space,Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
+,CodeBlock ("",[],[]) "or here: <http://example.com/>"
+,HorizontalRule
+,Header 1 [Str "Images"]
+,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
+,Para [Image [Str "image"] ("lalune.jpg","")]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
+,HorizontalRule
+,Header 1 [Str "Footnotes"]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
+,BlockQuote
+ [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]]
+,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."]]
diff --git a/tests/lhs-test.fragment.html+lhs b/tests/lhs-test.fragment.html+lhs
index 74180d5c1..7757bc634 100644
--- a/tests/lhs-test.fragment.html+lhs
+++ b/tests/lhs-test.fragment.html+lhs
@@ -6,9 +6,21 @@
> is an arrow that takes a pair of values and combines them to return a single value:</p
><pre class="sourceCode haskell"
><code
- >&gt; unsplit :: (<span class="dt"
+ >&gt; <span class="ot"
+ >unsplit </span
+ ><span class="ot"
+ >::</span
+ > (<span class="dt"
>Arrow</span
- > a) =&gt; (b -&gt; c -&gt; d) -&gt; a (b, c) d<br
+ > a) <span class="ot"
+ >=&gt;</span
+ > (b <span class="ot"
+ >-&gt;</span
+ > c <span class="ot"
+ >-&gt;</span
+ > d) <span class="ot"
+ >-&gt;</span
+ > a (b, c) d<br
/>&gt; unsplit <span class="fu"
>=</span
> arr <span class="fu"
@@ -18,8 +30,7 @@
> <br
/>&gt; <span class="co"
>-- arr (\op (x,y) -&gt; x `op` y) </span
- ><br
- /></code
+ ></code
></pre
><p
><code
@@ -36,4 +47,4 @@
><p
>foo bar</p
></blockquote
-> \ No newline at end of file
+>
diff --git a/tests/lhs-test.html b/tests/lhs-test.html
index 1cfcb199a..0e5587a83 100644
--- a/tests/lhs-test.html
+++ b/tests/lhs-test.html
@@ -1,27 +1,27 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
+ <title></title>
<style type="text/css">
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode, table.sourceCode pre
{ margin: 0; padding: 0; border: 0; vertical-align: baseline; border: none; }
td.lineNumbers { border-right: 1px solid #AAAAAA; text-align: right; color: #AAAAAA; padding-right: 5px; padding-left: 5px; }
td.sourceCode { padding-left: 5px; }
-pre.sourceCode span.kw { color: #007020; font-weight: bold; }
-pre.sourceCode span.dt { color: #902000; }
-pre.sourceCode span.dv { color: #40a070; }
-pre.sourceCode span.bn { color: #40a070; }
-pre.sourceCode span.fl { color: #40a070; }
-pre.sourceCode span.ch { color: #4070a0; }
-pre.sourceCode span.st { color: #4070a0; }
-pre.sourceCode span.co { color: #60a0b0; font-style: italic; }
-pre.sourceCode span.ot { color: #007020; }
-pre.sourceCode span.al { color: red; font-weight: bold; }
-pre.sourceCode span.fu { color: #06287e; }
-pre.sourceCode span.re { }
-pre.sourceCode span.er { color: red; font-weight: bold; }
+code.sourceCode span.kw { color: #007020; font-weight: bold; }
+code.sourceCode span.dt { color: #902000; }
+code.sourceCode span.dv { color: #40a070; }
+code.sourceCode span.bn { color: #40a070; }
+code.sourceCode span.fl { color: #40a070; }
+code.sourceCode span.ch { color: #4070a0; }
+code.sourceCode span.st { color: #4070a0; }
+code.sourceCode span.co { color: #60a0b0; font-style: italic; }
+code.sourceCode span.ot { color: #007020; }
+code.sourceCode span.al { color: red; font-weight: bold; }
+code.sourceCode span.fu { color: #06287e; }
+code.sourceCode span.re { }
+code.sourceCode span.er { color: red; font-weight: bold; }
</style>
</head>
<body>
@@ -31,11 +31,23 @@ pre.sourceCode span.er { color: red; font-weight: bold; }
><code
>unsplit</code
> is an arrow that takes a pair of values and combines them to return a single value:</p
-><pre class="sourceCode haskell"
-><code
- >unsplit :: (<span class="dt"
+><pre class="sourceCode"
+><code class="sourceCode haskell"
+ ><span class="ot"
+ >unsplit </span
+ ><span class="ot"
+ >::</span
+ > (<span class="dt"
>Arrow</span
- > a) =&gt; (b -&gt; c -&gt; d) -&gt; a (b, c) d<br
+ > a) <span class="ot"
+ >=&gt;</span
+ > (b <span class="ot"
+ >-&gt;</span
+ > c <span class="ot"
+ >-&gt;</span
+ > d) <span class="ot"
+ >-&gt;</span
+ > a (b, c) d<br
/>unsplit <span class="fu"
>=</span
> arr <span class="fu"
@@ -45,8 +57,7 @@ pre.sourceCode span.er { color: red; font-weight: bold; }
> <br
/> <span class="co"
>-- arr (\op (x,y) -&gt; x `op` y) </span
- ><br
- /></code
+ ></code
></pre
><p
><code
diff --git a/tests/lhs-test.html+lhs b/tests/lhs-test.html+lhs
index a33bf83ce..8a4b82e0a 100644
--- a/tests/lhs-test.html+lhs
+++ b/tests/lhs-test.html+lhs
@@ -1,27 +1,27 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
+ <title></title>
<style type="text/css">
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode, table.sourceCode pre
{ margin: 0; padding: 0; border: 0; vertical-align: baseline; border: none; }
td.lineNumbers { border-right: 1px solid #AAAAAA; text-align: right; color: #AAAAAA; padding-right: 5px; padding-left: 5px; }
td.sourceCode { padding-left: 5px; }
-pre.sourceCode span.kw { color: #007020; font-weight: bold; }
-pre.sourceCode span.dt { color: #902000; }
-pre.sourceCode span.dv { color: #40a070; }
-pre.sourceCode span.bn { color: #40a070; }
-pre.sourceCode span.fl { color: #40a070; }
-pre.sourceCode span.ch { color: #4070a0; }
-pre.sourceCode span.st { color: #4070a0; }
-pre.sourceCode span.co { color: #60a0b0; font-style: italic; }
-pre.sourceCode span.ot { color: #007020; }
-pre.sourceCode span.al { color: red; font-weight: bold; }
-pre.sourceCode span.fu { color: #06287e; }
-pre.sourceCode span.re { }
-pre.sourceCode span.er { color: red; font-weight: bold; }
+code.sourceCode span.kw { color: #007020; font-weight: bold; }
+code.sourceCode span.dt { color: #902000; }
+code.sourceCode span.dv { color: #40a070; }
+code.sourceCode span.bn { color: #40a070; }
+code.sourceCode span.fl { color: #40a070; }
+code.sourceCode span.ch { color: #4070a0; }
+code.sourceCode span.st { color: #4070a0; }
+code.sourceCode span.co { color: #60a0b0; font-style: italic; }
+code.sourceCode span.ot { color: #007020; }
+code.sourceCode span.al { color: red; font-weight: bold; }
+code.sourceCode span.fu { color: #06287e; }
+code.sourceCode span.re { }
+code.sourceCode span.er { color: red; font-weight: bold; }
</style>
</head>
<body>
@@ -31,11 +31,23 @@ pre.sourceCode span.er { color: red; font-weight: bold; }
><code
>unsplit</code
> is an arrow that takes a pair of values and combines them to return a single value:</p
-><pre class="sourceCode haskell"
-><code
- >&gt; unsplit :: (<span class="dt"
+><pre class="sourceCode"
+><code class="sourceCode haskell"
+ >&gt; <span class="ot"
+ >unsplit </span
+ ><span class="ot"
+ >::</span
+ > (<span class="dt"
>Arrow</span
- > a) =&gt; (b -&gt; c -&gt; d) -&gt; a (b, c) d<br
+ > a) <span class="ot"
+ >=&gt;</span
+ > (b <span class="ot"
+ >-&gt;</span
+ > c <span class="ot"
+ >-&gt;</span
+ > d) <span class="ot"
+ >-&gt;</span
+ > a (b, c) d<br
/>&gt; unsplit <span class="fu"
>=</span
> arr <span class="fu"
@@ -45,8 +57,7 @@ pre.sourceCode span.er { color: red; font-weight: bold; }
> <br
/>&gt; <span class="co"
>-- arr (\op (x,y) -&gt; x `op` y) </span
- ><br
- /></code
+ ></code
></pre
><p
><code
diff --git a/tests/lhs-test.latex b/tests/lhs-test.latex
index 331f429ef..d34c21090 100644
--- a/tests/lhs-test.latex
+++ b/tests/lhs-test.latex
@@ -2,7 +2,7 @@
\usepackage{amssymb,amsmath}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}
-\usepackage[breaklinks=true,unicode=true]{hyperref}
+\usepackage[breaklinks=true,unicode=true,pdfborder={0 0 0}]{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setcounter{secnumdepth}{0}
@@ -12,17 +12,17 @@
\section{lhs test}
-\verb!unsplit! is an arrow that takes a pair of values and combines
-them to return a single value:
+\verb!unsplit! is an arrow that takes a pair of values and combines them to
+return a single value:
\begin{verbatim}
unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
unsplit = arr . uncurry
-- arr (\op (x,y) -> x `op` y)
\end{verbatim}
-\verb!(***)! combines two arrows into a new arrow by running the
-two arrows on a pair of values (one arrow on the first item of the
-pair and one arrow on the second item of the pair).
+\verb!(***)! combines two arrows into a new arrow by running the two arrows on
+a pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
\begin{verbatim}
f *** g = first f >>> second g
diff --git a/tests/lhs-test.latex+lhs b/tests/lhs-test.latex+lhs
index a6270afcf..29237f820 100644
--- a/tests/lhs-test.latex+lhs
+++ b/tests/lhs-test.latex+lhs
@@ -4,7 +4,7 @@
\usepackage[utf8x]{inputenc}
\usepackage{listings}
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
-\usepackage[breaklinks=true,unicode=true]{hyperref}
+\usepackage[breaklinks=true,unicode=true,pdfborder={0 0 0}]{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setcounter{secnumdepth}{0}
@@ -14,17 +14,17 @@
\section{lhs test}
-\verb!unsplit! is an arrow that takes a pair of values and combines
-them to return a single value:
+\verb!unsplit! is an arrow that takes a pair of values and combines them to
+return a single value:
\begin{code}
unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
unsplit = arr . uncurry
-- arr (\op (x,y) -> x `op` y)
\end{code}
-\verb!(***)! combines two arrows into a new arrow by running the
-two arrows on a pair of values (one arrow on the first item of the
-pair and one arrow on the second item of the pair).
+\verb!(***)! combines two arrows into a new arrow by running the two arrows on
+a pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
\begin{verbatim}
f *** g = first f >>> second g
diff --git a/tests/lhs-test.markdown b/tests/lhs-test.markdown
index 834d642d8..1d6cfcfb7 100644
--- a/tests/lhs-test.markdown
+++ b/tests/lhs-test.markdown
@@ -1,15 +1,17 @@
# lhs test
-`unsplit` is an arrow that takes a pair of values and combines them
-to return a single value:
+`unsplit` is an arrow that takes a pair of values and combines them to return
+a single value:
- unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
- unsplit = arr . uncurry
- -- arr (\op (x,y) -> x `op` y)
+~~~~ {.sourceCode .literate .haskell}
+unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
+unsplit = arr . uncurry
+ -- arr (\op (x,y) -> x `op` y)
+~~~~
-`(***)` combines two arrows into a new arrow by running the two
-arrows on a pair of values (one arrow on the first item of the pair
-and one arrow on the second item of the pair).
+`(***)` combines two arrows into a new arrow by running the two arrows on a
+pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
f *** g = first f >>> second g
diff --git a/tests/lhs-test.markdown+lhs b/tests/lhs-test.markdown+lhs
index 187fa630f..e6f0088c5 100644
--- a/tests/lhs-test.markdown+lhs
+++ b/tests/lhs-test.markdown+lhs
@@ -1,16 +1,16 @@
lhs test
========
-`unsplit` is an arrow that takes a pair of values and combines them
-to return a single value:
+`unsplit` is an arrow that takes a pair of values and combines them to return
+a single value:
> unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
> unsplit = arr . uncurry
> -- arr (\op (x,y) -> x `op` y)
-`(***)` combines two arrows into a new arrow by running the two
-arrows on a pair of values (one arrow on the first item of the pair
-and one arrow on the second item of the pair).
+`(***)` combines two arrows into a new arrow by running the two arrows on a
+pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
f *** g = first f >>> second g
diff --git a/tests/lhs-test.native b/tests/lhs-test.native
index 94150f069..4b5a3e112 100644
--- a/tests/lhs-test.native
+++ b/tests/lhs-test.native
@@ -1,10 +1,8 @@
-Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
-[ Header 1 [Str "lhs",Space,Str "test"]
-, Para [Code "unsplit",Space,Str "is",Space,Str "an",Space,Str "arrow",Space,Str "that",Space,Str "takes",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "and",Space,Str "combines",Space,Str "them",Space,Str "to",Space,Str "return",Space,Str "a",Space,Str "single",Space,Str "value:"]
-, CodeBlock ("",["sourceCode","literate","haskell"],[]) "unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d\nunsplit = arr . uncurry \n -- arr (\\op (x,y) -> x `op` y) "
-, Para [Code "(***)",Space,Str "combines",Space,Str "two",Space,Str "arrows",Space,Str "into",Space,Str "a",Space,Str "new",Space,Str "arrow",Space,Str "by",Space,Str "running",Space,Str "the",Space,Str "two",Space,Str "arrows",Space,Str "on",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "(one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "first",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair",Space,Str "and",Space,Str "one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "second",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair)",Str "."]
-, CodeBlock ("",[],[]) "f *** g = first f >>> second g"
-, Para [Str "Block",Space,Str "quote:"]
-, BlockQuote
- [ Para [Str "foo",Space,Str "bar"] ]
- ]
+[Header 1 [Str "lhs",Space,Str "test"]
+,Para [Code ("",[],[]) "unsplit",Space,Str "is",Space,Str "an",Space,Str "arrow",Space,Str "that",Space,Str "takes",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "and",Space,Str "combines",Space,Str "them",Space,Str "to",Space,Str "return",Space,Str "a",Space,Str "single",Space,Str "value",Str ":"]
+,CodeBlock ("",["sourceCode","literate","haskell"],[]) "unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d\nunsplit = arr . uncurry \n -- arr (\\op (x,y) -> x `op` y) "
+,Para [Code ("",[],[]) "(***)",Space,Str "combines",Space,Str "two",Space,Str "arrows",Space,Str "into",Space,Str "a",Space,Str "new",Space,Str "arrow",Space,Str "by",Space,Str "running",Space,Str "the",Space,Str "two",Space,Str "arrows",Space,Str "on",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "(one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "first",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair",Space,Str "and",Space,Str "one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "second",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair)",Str "."]
+,CodeBlock ("",[],[]) "f *** g = first f >>> second g"
+,Para [Str "Block",Space,Str "quote",Str ":"]
+,BlockQuote
+ [Para [Str "foo",Space,Str "bar"]]]
diff --git a/tests/lhs-test.nohl.html b/tests/lhs-test.nohl.html
new file mode 100644
index 000000000..cb03679f3
--- /dev/null
+++ b/tests/lhs-test.nohl.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="generator" content="pandoc" />
+ <title></title>
+</head>
+<body>
+<h1 id="lhs-test"
+>lhs test</h1
+><p
+><code
+ >unsplit</code
+ > is an arrow that takes a pair of values and combines them to return a single value:</p
+><pre class="sourceCode haskell"
+><code
+ >unsplit :: (Arrow a) =&gt; (b -&gt; c -&gt; d) -&gt; a (b, c) d
+unsplit = arr . uncurry
+ -- arr (\op (x,y) -&gt; x `op` y)
+</code
+ ></pre
+><p
+><code
+ >(***)</code
+ > combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).</p
+><pre
+><code
+ >f *** g = first f &gt;&gt;&gt; second g
+</code
+ ></pre
+><p
+>Block quote:</p
+><blockquote
+><p
+ >foo bar</p
+ ></blockquote
+>
+</body>
+</html>
diff --git a/tests/lhs-test.nohl.html+lhs b/tests/lhs-test.nohl.html+lhs
new file mode 100644
index 000000000..8b972a044
--- /dev/null
+++ b/tests/lhs-test.nohl.html+lhs
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="generator" content="pandoc" />
+ <title></title>
+</head>
+<body>
+<h1 id="lhs-test"
+>lhs test</h1
+><p
+><code
+ >unsplit</code
+ > is an arrow that takes a pair of values and combines them to return a single value:</p
+><pre class="sourceCode literate haskell"
+><code
+ >&gt; unsplit :: (Arrow a) =&gt; (b -&gt; c -&gt; d) -&gt; a (b, c) d
+&gt; unsplit = arr . uncurry
+&gt; -- arr (\op (x,y) -&gt; x `op` y)
+</code
+ ></pre
+><p
+><code
+ >(***)</code
+ > combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).</p
+><pre
+><code
+ >f *** g = first f &gt;&gt;&gt; second g
+</code
+ ></pre
+><p
+>Block quote:</p
+><blockquote
+><p
+ >foo bar</p
+ ></blockquote
+>
+</body>
+</html>
diff --git a/tests/lhs-test.rst b/tests/lhs-test.rst
index 67f7b3984..37ad099af 100644
--- a/tests/lhs-test.rst
+++ b/tests/lhs-test.rst
@@ -1,8 +1,8 @@
lhs test
========
-``unsplit`` is an arrow that takes a pair of values and combines
-them to return a single value:
+``unsplit`` is an arrow that takes a pair of values and combines them to
+return a single value:
::
@@ -10,9 +10,9 @@ them to return a single value:
unsplit = arr . uncurry
-- arr (\op (x,y) -> x `op` y)
-``(***)`` combines two arrows into a new arrow by running the two
-arrows on a pair of values (one arrow on the first item of the pair
-and one arrow on the second item of the pair).
+``(***)`` combines two arrows into a new arrow by running the two arrows on a
+pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
::
@@ -21,4 +21,3 @@ and one arrow on the second item of the pair).
Block quote:
foo bar
-
diff --git a/tests/lhs-test.rst+lhs b/tests/lhs-test.rst+lhs
index 22d54e85e..6b6ffb860 100644
--- a/tests/lhs-test.rst+lhs
+++ b/tests/lhs-test.rst+lhs
@@ -1,16 +1,16 @@
lhs test
========
-``unsplit`` is an arrow that takes a pair of values and combines
-them to return a single value:
+``unsplit`` is an arrow that takes a pair of values and combines them to
+return a single value:
> unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
> unsplit = arr . uncurry
> -- arr (\op (x,y) -> x `op` y)
-``(***)`` combines two arrows into a new arrow by running the two
-arrows on a pair of values (one arrow on the first item of the pair
-and one arrow on the second item of the pair).
+``(***)`` combines two arrows into a new arrow by running the two arrows on a
+pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
::
@@ -19,4 +19,3 @@ and one arrow on the second item of the pair).
Block quote:
foo bar
-
diff --git a/tests/markdown-citations.chicago-author-date.txt b/tests/markdown-citations.chicago-author-date.txt
new file mode 100644
index 000000000..11d84dadc
--- /dev/null
+++ b/tests/markdown-citations.chicago-author-date.txt
@@ -0,0 +1,43 @@
+# Pandoc with citeproc-hs
+
+- [@nonexistent]
+
+- @nonexistent
+
+- Doe (2005) says blah.
+
+- Doe (2005, 30) says blah.
+
+- Doe (2005, 30, with suffix) says blah.
+
+- Doe (2005; 2006, 30; see also Doe and Roe 2007) says blah.
+
+- In a note.[^1]
+
+- A citation group (see Doe 2005, 34–35; also Doe and Roe 2007, chap. 3).
+
+- Another one (see Doe 2005, 34–35).
+
+- And another one in a note.[^2]
+
+- Citation with a suffix and locator (Doe 2005, 33, 35–37, and nowhere else).
+
+- Citation with suffix only (Doe 2005, and nowhere else).
+
+- Now some modifiers.[^3]
+
+- With some markup (*see* Doe 2005, 32).
+
+# References
+
+Doe, John. 2005. *First Book*. Cambridge: Cambridge University Press.
+
+---. 2006. Article. *Journal of Generic Studies* 6: 33–34.
+
+Doe, John, and Jenny Roe. 2007. Why Water Is Wet. In *Third Book*, ed. Sam Smith. Oxford: Oxford University Press.
+
+[^1]: A citation without locators (Doe and Roe 2007).
+
+[^2]: Some citations (see Doe 2006, chap. 3; Doe and Roe 2007; Doe 2005).
+
+[^3]: Like a citation without author: (2005), and now Doe with a locator (2006, 44).
diff --git a/tests/markdown-citations.ieee.txt b/tests/markdown-citations.ieee.txt
new file mode 100644
index 000000000..0fd9335ad
--- /dev/null
+++ b/tests/markdown-citations.ieee.txt
@@ -0,0 +1,43 @@
+# Pandoc with citeproc-hs
+
+- [@nonexistent]
+
+- @nonexistent
+
+- Reference [1] says blah.
+
+- Reference [1] says blah.
+
+- Reference [1] says blah.
+
+- Reference [1] says blah.
+
+- In a note.[^1]
+
+- A citation group [1],[3].
+
+- Another one [1].
+
+- And another one in a note.[^2]
+
+- Citation with a suffix and locator [1].
+
+- Citation with suffix only [1].
+
+- Now some modifiers.[^3]
+
+- With some markup [1].
+
+# References
+
+[1] J. Doe, *First Book*, Cambridge: Cambridge University Press, 2005.
+
+[2] J. Doe, “Article,” *Journal of Generic Studies*, vol. 6, 2006, pp. 33-34.
+
+[3] J. Doe and J. Roe, “Why Water Is Wet,” *Third Book*, Smith, S., Ed., Oxford: Oxford University Press, 2007.
+
+[^1]: A citation without locators [3].
+
+[^2]: Some citations [1]-[3].
+
+[^3]: Like a citation without author: [1], and now Doe with a locator [2].
diff --git a/tests/markdown-citations.mhra.txt b/tests/markdown-citations.mhra.txt
new file mode 100644
index 000000000..56eb147a3
--- /dev/null
+++ b/tests/markdown-citations.mhra.txt
@@ -0,0 +1,61 @@
+# Pandoc with citeproc-hs
+
+- [@nonexistent]
+
+- @nonexistent
+
+- John Doe[^1] says blah.
+
+- Doe[^2] says blah.
+
+- Doe[^3] says blah.
+
+- Doe[^4] says blah.
+
+- In a note.[^5]
+
+- A citation group.[^6]
+
+- Another one.[^7]
+
+- And another one in a note.[^8]
+
+- Citation with a suffix and locator.[^9]
+
+- Citation with suffix only.[^10]
+
+- Now some modifiers.[^11]
+
+- With some markup.[^12]
+
+# References
+
+Doe, John, ‘Article’, *Journal of Generic Studies*, 6 (2006), 33-34.
+
+---, *First Book* (Cambridge: Cambridge University Press, 2005).
+
+Doe, John, and Jenny Roe, ‘Why Water Is Wet’, in *Third Book*, ed by Sam Smith (Oxford: Oxford University Press, 2007).
+
+[^1]: *First Book* (Cambridge: Cambridge University Press, 2005).
+
+[^2]: First Book, p. 30.
+
+[^3]: First Book, p. 30, with suffix.
+
+[^4]: First Book; ‘Article’, *Journal of Generic Studies*, 6 (2006), 33-34 (p. 30); see also John Doe and Jenny Roe, ‘Why Water Is Wet’, in *Third Book*, ed by Sam Smith (Oxford: Oxford University Press, 2007).
+
+[^5]: A citation without locators Doe and Roe.
+
+[^6]: See Doe, First Book, pp. 34-35; also Doe and Roe, chap. 3.
+
+[^7]: See Doe, First Book, pp. 34-35.
+
+[^8]: Some citations see Doe, Article, 33-34 (chap. 3); Doe and Roe; Doe, First Book.
+
+[^9]: Doe, First Book, pp. 33, 35-37, and nowhere else.
+
+[^10]: Doe, First Book, and nowhere else.
+
+[^11]: Like a citation without author: First Book, and now Doe with a locator Article, 33-34 (p. 44).
+
+[^12]: *See* Doe, First Book, p. 32.
diff --git a/tests/markdown-citations.txt b/tests/markdown-citations.txt
new file mode 100644
index 000000000..e2864d365
--- /dev/null
+++ b/tests/markdown-citations.txt
@@ -0,0 +1,37 @@
+# Pandoc with citeproc-hs
+
+- [@nonexistent]
+
+- @nonexistent
+
+- @item1 says blah.
+
+- @item1 [p. 30] says blah.
+
+- @item1 [p. 30, with suffix] says blah.
+
+- @item1 [-@item2 p. 30; see also @item3] says blah.
+
+- In a note.[^1]
+
+- A citation group [see @item1 p. 34-35; also @item3 chap. 3].
+
+- Another one [see @item1 p. 34-35].
+
+- And another one in a note.[^2]
+
+- Citation with a suffix and locator [@item1 pp. 33, 35-37, and nowhere else].
+
+- Citation with suffix only [@item1 and nowhere else].
+
+- Now some modifiers.[^3]
+
+- With some markup [*see* @item1 p. **32**].
+
+# References
+
+[^1]: A citation without locators [@item3].
+
+[^2]: Some citations [see @item2 chap. 3; @item3; @item1].
+
+[^3]: Like a citation without author: [-@item1], and now Doe with a locator [-@item2 p. 44].
diff --git a/tests/markdown-reader-more.native b/tests/markdown-reader-more.native
index 104baeaa6..e5e079e9f 100644
--- a/tests/markdown-reader-more.native
+++ b/tests/markdown-reader-more.native
@@ -1,42 +1,50 @@
-Pandoc (Meta {docTitle = [Str "Title",Space,Str "spanning",Space,Str "multiple",Space,Str "lines"], docAuthors = [[Str "Author",Space,Str "One"],[Str "Author",Space,Str "Two"],[Str "Author",Space,Str "Three"],[Str "Author",Space,Str "Four"]], docDate = []})
-[ Header 1 [Str "Additional",Space,Str "markdown",Space,Str "reader",Space,Str "tests"]
-, Header 2 [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"]
-, Para [Link [Str "foo"] ("/url",""),Space,Str "and",Space,Link [Str "bar"] ("/url","title")]
-, Header 2 [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"]
-, Para [TeX "\\placeformula",Space,TeX "\\startformula\n L_{1} = L_{2}\n \\stopformula"]
-, Para [TeX "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]"]
-, Header 2 [Str "URLs",Space,Str "with",Space,Str "spaces"]
-, Para [Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20%20and%20%20baz",""),Space,Link [Str "foo"] ("bar%20baz","title")]
-, Para [Link [Str "baz"] ("/foo%20foo",""),Space,Link [Str "bam"] ("/foo%20fee",""),Space,Link [Str "bork"] ("/foo/zee%20zob","title")]
-, Header 2 [Str "Horizontal",Space,Str "rules",Space,Str "with",Space,Str "spaces",Space,Str "at",Space,Str "end"]
-, HorizontalRule
-, HorizontalRule
-, Header 2 [Str "Raw",Space,Str "HTML",Space,Str "before",Space,Str "header"]
-, Plain [HtmlInline "<a>",HtmlInline "</a>"]
-, Header 3 [Str "my",Space,Str "header"]
-, Header 2 [Str "$",Space,Str "in",Space,Str "math"]
-, Para [Math InlineMath "\\$2 + \\$3"]
-, Header 2 [Str "Commented",Str "-",Str "out",Space,Str "list",Space,Str "item"]
-, BulletList
- [ [ Plain [Str "one"]
- , RawHtml "<!--\n- two\n-->" ], [ Plain [Str "three"] ] ]
-, Header 2 [Str "Backslash",Space,Str "newline"]
-, Para [Str "hi",LineBreak,Str "there"]
-, Header 2 [Str "Code",Space,Str "spans"]
-, Para [Code "hi\\"]
-, Para [Code "hi there"]
-, Para [Code "hi````there"]
-, Para [Str "`",Str "hi"]
-, Para [Str "there",Str "`"]
-, Header 2 [Str "Multilingual",Space,Str "URLs"]
-, Para [Link [Code "http://\27979.com?\27979=\27979"] ("http://%E6%B5%8B.com?%E6%B5%8B=%E6%B5%8B","")]
-, Para [Link [Str "foo"] ("/bar/%E6%B5%8B?x=%E6%B5%8B","title")]
-, Para [Link [Code "\27979@foo.\27979.baz"] ("mailto:%E6%B5%8B@foo.%E6%B5%8B.baz","")]
-, Header 2 [Str "Numbered",Space,Str "examples"]
-, OrderedList (1,Example,TwoParens)
- [ [ Plain [Str "First",Space,Str "example",Str "."] ]
- , [ Plain [Str "Second",Space,Str "example",Str "."] ] ]
-, Para [Str "Explanation",Space,Str "of",Space,Str "examples",Space,Str "(",Str "2",Str ")",Space,Str "and",Space,Str "(",Str "3",Str ")",Str "."]
-, OrderedList (3,Example,TwoParens)
- [ [ Plain [Str "Third",Space,Str "example",Str "."] ]
- ] ]
+[Header 1 [Str "Additional",Space,Str "markdown",Space,Str "reader",Space,Str "tests"]
+,Header 2 [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"]
+,Para [Link [Str "foo"] ("/url",""),Space,Str "and",Space,Link [Str "bar"] ("/url","title")]
+,Header 2 [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"]
+,Plain [RawInline "tex" "\\placeformula"]
+,RawBlock "context" "\\startformula\n L_{1} = L_{2}\n \\stopformula"
+,RawBlock "context" "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]"
+,Header 2 [Str "URLs",Space,Str "with",Space,Str "spaces"]
+,Para [Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("bar%20baz","title")]
+,Para [Link [Str "baz"] ("/foo%20foo",""),Space,Link [Str "bam"] ("/foo%20fee",""),Space,Link [Str "bork"] ("/foo/zee%20zob","title")]
+,Header 2 [Str "Horizontal",Space,Str "rules",Space,Str "with",Space,Str "spaces",Space,Str "at",Space,Str "end"]
+,HorizontalRule
+,HorizontalRule
+,Header 2 [Str "Raw",Space,Str "HTML",Space,Str "before",Space,Str "header"]
+,Plain [RawInline "html" "<a>",RawInline "html" "</a>"]
+,Header 3 [Str "my",Space,Str "header"]
+,Header 2 [Str "$",Space,Str "in",Space,Str "math"]
+,Para [Math InlineMath "\\$2 + \\$3"]
+,Header 2 [Str "Commented",Str "-",Str "out",Space,Str "list",Space,Str "item"]
+,BulletList
+ [[Plain [Str "one",Space,RawInline "html" "<!--\n- two\n-->"]]
+ ,[Plain [Str "three"]]]
+,Header 2 [Str "Backslash",Space,Str "newline"]
+,Para [Str "hi",LineBreak,Str "there"]
+,Header 2 [Str "Code",Space,Str "spans"]
+,Para [Code ("",[],[]) "hi\\"]
+,Para [Code ("",[],[]) "hi there"]
+,Para [Code ("",[],[]) "hi````there"]
+,Para [Str "`",Str "hi"]
+,Para [Str "there",Str "`"]
+,Header 2 [Str "Multilingual",Space,Str "URLs"]
+,Para [Link [Code ("",["url"],[]) "http://\27979.com?\27979=\27979"] ("http://%E6%B5%8B.com?%E6%B5%8B=%E6%B5%8B","")]
+,Para [Link [Str "foo"] ("/bar/%E6%B5%8B?x=%E6%B5%8B","title")]
+,Para [Link [Code ("",["url"],[]) "\27979@foo.\27979.baz"] ("mailto:%E6%B5%8B@foo.%E6%B5%8B.baz","")]
+,Header 2 [Str "Numbered",Space,Str "examples"]
+,OrderedList (1,Example,TwoParens)
+ [[Plain [Str "First",Space,Str "example",Str "."]]
+ ,[Plain [Str "Second",Space,Str "example",Str "."]]]
+,Para [Str "Explanation",Space,Str "of",Space,Str "examples",Space,Str "(",Str "2",Str ")",Space,Str "and",Space,Str "(",Str "3",Str ")",Str "."]
+,OrderedList (3,Example,TwoParens)
+ [[Plain [Str "Third",Space,Str "example",Str "."]]]
+,Header 2 [Str "Macros"]
+,Para [Math InlineMath "\\langle x,y \\rangle"]
+,Header 2 [Str "Case",Str "-",Str "insensitive",Space,Str "references"]
+,Para [Link [Str "Fum"] ("/fum","")]
+,Para [Link [Str "FUM"] ("/fum","")]
+,Para [Link [Str "bat"] ("/bat","")]
+,Header 2 [Str "Curly",Space,Str "smart",Space,Str "quotes"]
+,Para [Quoted DoubleQuote [Str "Hi"]]
+,Para [Quoted SingleQuote [Str "Hi"]]]
diff --git a/tests/markdown-reader-more.txt b/tests/markdown-reader-more.txt
index 29e210088..258002b8a 100644
--- a/tests/markdown-reader-more.txt
+++ b/tests/markdown-reader-more.txt
@@ -31,7 +31,8 @@
## URLs with spaces
[foo](/bar and baz)
-[foo](/bar and baz )
+[foo](/bar
+ and baz )
[foo]( /bar and baz )
[foo](bar baz "title" )
@@ -100,3 +101,25 @@ Explanation of examples (@foo) and (@bar).
(@bar) Third example.
+## Macros
+
+\newcommand{\tuple}[1]{\langle #1 \rangle}
+
+$\tuple{x,y}$
+
+## Case-insensitive references
+
+[Fum]
+
+[FUM]
+
+[bat]
+
+[fum]: /fum
+[BAT]: /bat
+
+## Curly smart quotes
+
+“Hi”
+
+‘Hi’
diff --git a/tests/mhra.csl b/tests/mhra.csl
new file mode 100644
index 000000000..4749cdcd7
--- /dev/null
+++ b/tests/mhra.csl
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">
+ <info>
+ <title>Modern Humanities Research Association (Note with Bibliography)</title>
+ <id>http://www.zotero.org/styles/mhra</id>
+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>
+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>
+ <author>
+ <name>Rintze Zelle</name>
+ <uri>http://forums.zotero.org/account/831/</uri>
+ </author>
+ <contributor>
+ <name>Sebastian Karcher</name>
+ </contributor>
+ <summary>MHRA format with full notes and bibliography</summary>
+ <category field="generic-base"/>
+ <category citation-format="note"/>
+ <updated>2009-12-15T12:42:52+00:00</updated>
+ </info>
+ <locale xml:lang="en">
+ <terms>
+ <term name="et-al">and others</term>
+ <term name="editor" form="verb-short">ed. by</term>
+ <term name="edition" form="short">edn</term>
+ <term name="translator" form="verb-short">trans. by</term>
+ </terms>
+ </locale>
+ <macro name="author">
+ <names variable="author">
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ <text macro="title-note"/>
+ </substitute>
+ </names>
+ </macro>
+ <macro name="contributors-note">
+ <names variable="author">
+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ <text macro="recipient-note"/>
+ </macro>
+ <macro name="title-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <text variable="title" font-style="italic"/>
+ </if>
+ <else>
+ <text variable="title" prefix="‘" suffix="’"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="editor-translator">
+ <group delimiter=", ">
+ <names variable="editor" delimiter=", ">
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ <choose>
+ <if variable="author editor" match="any">
+ <names variable="translator" delimiter=", ">
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ </if>
+ </choose>
+ </group>
+ </macro>
+ <macro name="collection-title">
+ <text variable="collection-title"/>
+ <text variable="collection-number" prefix=", "/>
+ </macro>
+ <macro name="locators-note">
+ <choose>
+ <if type="article-journal">
+ <text variable="volume"/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="edition-note"/>
+ <group>
+ <number variable="number-of-volumes" form="numeric"/>
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="volume">
+ <choose>
+ <if type="article-journal">
+ <text variable="volume"/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="edition-note"/>
+ <group>
+ <number variable="number-of-volumes" form="numeric"/>
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="issue-note">
+ <choose>
+ <if type="article-journal">
+ <choose>
+ <if variable="volume">
+ <text macro="issued" prefix=" (" suffix=")"/>
+ </if>
+ <else>
+ <text macro="issued" prefix=", "/>
+ </else>
+ </choose>
+ </if>
+ <else-if variable="publisher-place publisher" match="any">
+ <group prefix=" (" suffix=")" delimiter=", ">
+ <group delimiter=" ">
+ <choose>
+ <if variable="title" match="none"/>
+ <else-if type="thesis speech" match="any">
+ <text variable="genre" prefix="unpublished "/>
+ </else-if>
+ </choose>
+ <text macro="event"/>
+ </group>
+ <text macro="publisher"/>
+ <text macro="issued"/>
+ </group>
+ </else-if>
+ <else>
+ <text macro="issued" prefix=", "/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="locators-specific-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <choose>
+ <if is-numeric="volume">
+ <number variable="volume" form="roman" font-variant="small-caps"/>
+ </if>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="container-title-note">
+ <choose>
+ <if type="chapter paper-conference" match="any">
+ <text term="in" text-case="lowercase" suffix=" "/>
+ </if>
+ </choose>
+ <text variable="container-title" font-style="italic"/>
+ </macro>
+ <macro name="edition-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <choose>
+ <if is-numeric="edition">
+ <group delimiter=" ">
+ <number variable="edition" form="ordinal"/>
+ <text term="edition" form="short" strip-periods="true"/>
+ </group>
+ </if>
+ <else>
+ <text variable="edition"/>
+ </else>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="editor-note">
+ <names variable="editor">
+ <name and="text" sort-separator=", " delimiter=", "/>
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="translator-note">
+ <names variable="translator">
+ <name and="text" sort-separator=", " delimiter=", "/>
+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="recipient-note">
+ <names variable="recipient" delimiter=", ">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="recipient-short">
+ <names variable="recipient">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name form="short" and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="contributors-short">
+ <names variable="author">
+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ </substitute>
+ </names>
+ <text macro="recipient-short"/>
+ </macro>
+ <macro name="interviewer-note">
+ <names variable="interviewer" delimiter=", ">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="locators-newspaper">
+ <choose>
+ <if type="article-newspaper">
+ <group delimiter=", ">
+ <group>
+ <text variable="edition" suffix=" "/>
+ <text term="edition" prefix=" "/>
+ </group>
+ <group>
+ <text term="section" suffix=" "/>
+ <text variable="section"/>
+ </group>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="event">
+ <group>
+ <text term="presented at" suffix=" "/>
+ <text variable="event"/>
+ </group>
+ </macro>
+ <macro name="publisher">
+ <group delimiter=": ">
+ <text variable="publisher-place"/>
+ <text variable="publisher"/>
+ </group>
+ </macro>
+ <macro name="issued">
+ <choose>
+ <if type="graphic report article-newspaper" match="any">
+ <date variable="issued">
+ <date-part name="day" suffix=" "/>
+ <date-part name="month" suffix=" "/>
+ <date-part name="year"/>
+ </date>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </else-if>
+ <else>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </else>
+ </choose>
+ </macro>
+ <macro name="pages">
+ <choose>
+ <if type="article-journal">
+ <text variable="page" prefix=", "/>
+ </if>
+ <else>
+ <choose>
+ <if variable="volume">
+ <text variable="page" prefix=", "/>
+ </if>
+ <else>
+ <label variable="page" form="short" prefix=", " suffix=" "/>
+ <text variable="page"/>
+ </else>
+ </choose>
+ </else>
+ </choose>
+ </macro>
+ <macro name="point-locators">
+ <text macro="pages"/>
+ <choose>
+ <if variable="page">
+ <group prefix=" (" suffix=")">
+ <label variable="locator" form="short" suffix=" "/>
+ <text variable="locator"/>
+ </group>
+ </if>
+ <else>
+ <label variable="locator" form="short" prefix=", " suffix=" "/>
+ <text variable="locator"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="archive-note">
+ <group delimiter=", ">
+ <text variable="archive_location"/>
+ <text variable="archive"/>
+ <text variable="archive-place"/>
+ </group>
+ </macro>
+ <macro name="access-note">
+ <group delimiter=", ">
+ <choose>
+ <if type="graphic report" match="any">
+ <text macro="archive-note" prefix=", "/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">
+ <text macro="archive-note" prefix=", "/>
+ </else-if>
+ </choose>
+ </group>
+ <choose>
+ <if variable="DOI">
+ <text variable="DOI" prefix=" &lt;doi:" suffix="&gt;"/>
+ </if>
+ <else>
+ <text variable="URL" prefix=" &lt;" suffix="&gt;"/>
+ <choose>
+ <if variable="accessed">
+ <group prefix=" [" suffix="]">
+ <text term="accessed" text-case="lowercase"/>
+ <date variable="accessed">
+ <date-part name="day" prefix=" "/>
+ <date-part name="month" prefix=" "/>
+ <date-part name="year" prefix=" "/>
+ </date>
+ </group>
+ </if>
+ </choose>
+ </else>
+ </choose>
+ </macro>
+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite">
+ <layout prefix="" suffix="." delimiter="; ">
+ <choose>
+ <if position="subsequent">
+ <group delimiter=", ">
+ <text macro="contributors-short"/>
+ <choose>
+ <if disambiguate="true">
+ <text variable="title" form="short"/>
+ </if>
+ </choose>
+ </group>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="point-locators"/>
+ </if>
+ <else>
+ <group delimiter=", ">
+ <text macro="contributors-note"/>
+ <text macro="title-note"/>
+ <text macro="container-title-note"/>
+ <text macro="editor-translator"/>
+ <text macro="collection-title"/>
+ <text macro="locators-note"/>
+ </group>
+ <text macro="issue-note"/>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="locators-newspaper" prefix=", "/>
+ <text macro="point-locators"/>
+ <text macro="access-note"/>
+ </else>
+ </choose>
+ </layout>
+ </citation>
+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">
+ <sort>
+ <key macro="author"/>
+ <key variable="title"/>
+ </sort>
+ <layout suffix=".">
+ <group delimiter=", ">
+ <text macro="author"/>
+ <text macro="title-note"/>
+ <text macro="container-title-note"/>
+ <text macro="editor-translator"/>
+ <text macro="collection-title"/>
+ <text macro="volume"/>
+ </group>
+ <text macro="issue-note"/>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="locators-newspaper" prefix=", "/>
+ <text macro="pages"/>
+ <text macro="access-note"/>
+ </layout>
+ </bibliography>
+</style> \ No newline at end of file
diff --git a/tests/rst-reader.native b/tests/rst-reader.native
index b79d35bd9..a88d499b0 100644
--- a/tests/rst-reader.native
+++ b/tests/rst-reader.native
@@ -1,311 +1,308 @@
Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":",Space,Str "Subtitle"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
-[ DefinitionList
- [ ([Str "Revision"],
- [ [ Plain [Str "3"] ]
- ]) ]
-, Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
-, Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
-, Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
-, Header 3 [Str "Level",Space,Str "three"]
-, Header 4 [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 5 [Str "Level",Space,Str "five"]
-, Header 1 [Str "Paragraphs"]
-, Para [Str "Here's",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
-, Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
-, Para [Str "Here's",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
-, Para [Str "Horizontal",Space,Str "rule",Str ":"]
-, HorizontalRule
-, Para [Str "Another",Str ":"]
-, HorizontalRule
-, Header 1 [Str "Block",Space,Str "Quotes"]
-, Para [Str "Here's",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."] ]
-
-, Para [Str "Here's",Space,Str "another,",Space,Str "differently",Space,Str "indented",Str ":"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It's",Space,Str "indented",Space,Str "with",Space,Str "a",Space,Str "tab."]
- , Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
- , Para [Str "List",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
- , OrderedList (1,Decimal,Period)
- [ [ Plain [Str "item",Space,Str "one"] ]
- , [ Plain [Str "item",Space,Str "two"] ] ]
- , Para [Str "Nested",Space,Str "block",Space,Str "quotes",Str ":"]
- , BlockQuote
- [ Para [Str "nested"]
- , BlockQuote
- [ Para [Str "nested"] ]
- ] ]
-, Header 1 [Str "Code",Space,Str "Blocks"]
-, Para [Str "Code",Str ":"]
-, CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}"
-, CodeBlock ("",[],[]) "this code block is indented by one tab"
-, Para [Str "And",Str ":"]
-, CodeBlock ("",[],[]) "this block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
-, Para [Str "And",Str ":"]
-, CodeBlock ("",["sourceCode","python"],[]) "def my_function(x):\n return x + 1"
-, Header 1 [Str "Lists"]
-, Header 2 [Str "Unordered"]
-, Para [Str "Asterisks",Space,Str "tight",Str ":"]
-, BulletList
- [ [ Plain [Str "asterisk",Space,Str "1"] ]
- , [ Plain [Str "asterisk",Space,Str "2"] ]
- , [ Plain [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Asterisks",Space,Str "loose",Str ":"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "tight",Str ":"]
-, BulletList
- [ [ Plain [Str "Plus",Space,Str "1"] ]
- , [ Plain [Str "Plus",Space,Str "2"] ]
- , [ Plain [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "loose",Str ":"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "tight",Str ":"]
-, BulletList
- [ [ Plain [Str "Minus",Space,Str "1"] ]
- , [ Plain [Str "Minus",Space,Str "2"] ]
- , [ Plain [Str "Minus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "loose",Str ":"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Header 2 [Str "Ordered"]
-, Para [Str "Tight",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second"] ]
- , [ Plain [Str "Third"] ] ]
-, Para [Str "and",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "One"] ]
- , [ Plain [Str "Two"] ]
- , [ Plain [Str "Three"] ] ]
-, Para [Str "Loose",Space,Str "using",Space,Str "tabs",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and",Space,Str "using",Space,Str "spaces",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
- , Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog's",Space,Str "back."] ], [ Para [Str "Item",Space,Str "2."] ]
- , [ Para [Str "Item",Space,Str "3."] ] ]
-, Para [Str "Nested",Str ":"]
-, BulletList
- [ [ Para [Str "Tab"]
- , BulletList
- [ [ Para [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"] ]
- ] ] ] ] ]
-, Para [Str "Here's",Space,Str "another",Str ":"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second",Str ":"]
- , BlockQuote
- [ BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ] ], [ Para [Str "Third"] ] ]
-, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
-, OrderedList (2,Decimal,TwoParens)
- [ [ Plain [Str "begins",Space,Str "with",Space,Str "2"] ]
- , [ Para [Str "and",Space,Str "now",Space,Str "3"]
- , Para [Str "with",Space,Str "a",Space,Str "continuation"]
- , OrderedList (4,LowerRoman,Period)
- [ [ Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
- , [ Para [Str "more",Space,Str "items"]
- , OrderedList (1,UpperAlpha,TwoParens)
- [ [ Plain [Str "a",Space,Str "subsublist"] ]
- , [ Plain [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
-, Para [Str "Nesting",Str ":"]
-, OrderedList (1,UpperAlpha,Period)
- [ [ Para [Str "Upper",Space,Str "Alpha"]
- , OrderedList (1,UpperRoman,Period)
- [ [ Para [Str "Upper",Space,Str "Roman."]
- , OrderedList (6,Decimal,TwoParens)
- [ [ Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
- , OrderedList (3,LowerAlpha,OneParen)
- [ [ Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
- ] ] ] ] ] ] ]
-, Para [Str "Autonumbering",Str ":"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Autonumber."] ]
- , [ Para [Str "More."]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Nested."] ]
- ] ] ]
-, Para [Str "Autonumbering",Space,Str "with",Space,Str "explicit",Space,Str "start",Str ":"]
-, OrderedList (4,LowerAlpha,TwoParens)
- [ [ Plain [Str "item",Space,Str "1"] ]
- , [ Plain [Str "item",Space,Str "2"] ] ]
-, Header 2 [Str "Definition"]
-, DefinitionList
- [ ([Str "term",Space,Str "1"],
- [ [ Para [Str "Definition",Space,Str "1."] ]
- ])
- , ([Str "term",Space,Str "2"],
- [ [ Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "1."]
- , Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2."] ]])
- , ([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]],
- [ [ Para [Str "Definition",Space,Str "3."] ]
- ]) ]
-, Header 1 [Str "Field",Space,Str "Lists"]
-, DefinitionList
- [ ([Str "address"],
- [ [ Plain [Str "61",Space,Str "Main",Space,Str "St."] ]
- ])
- , ([Str "city"],
- [ [ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ]
- ])
- , ([Str "phone"],
- [ [ Plain [Str "123",Str "-",Str "4567"] ]
- ]) ]
-, DefinitionList
- [ ([Str "address"],
- [ [ Plain [Str "61",Space,Str "Main",Space,Str "St."] ]
- ])
- , ([Str "city"],
- [ [ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ]
- ])
- , ([Str "phone"],
- [ [ Plain [Str "123",Str "-",Str "4567"] ]
- ]) ]
-, Header 1 [Str "HTML",Space,Str "Blocks"]
-, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
-, RawHtml "<div>foo</div>\n"
-, Para [Str "Now,",Space,Str "nested",Str ":"]
-, RawHtml "<div>\n <div>\n <div>\n foo\n </div>\n </div>\n</div>\n"
-, Header 1 [Str "LaTeX",Space,Str "Block"]
-, Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}\n"]
-, Header 1 [Str "Inline",Space,Str "Markup"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str "."]
-, Para [Str "This",Space,Str "is",Space,Str "code",Str ":",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
-, Para [Str "This",Space,Str "is",Subscript [Str "subscripted"],Space,Str "and",Space,Str "this",Space,Str "is",Space,Superscript [Str "superscripted"],Str "."]
-, Header 1 [Str "Special",Space,Str "Characters"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode",Str ":"]
-, BulletList
- [ [ Plain [Str "I",Space,Str "hat",Str ":",Space,Str "\206"] ]
- , [ Plain [Str "o",Space,Str "umlaut",Str ":",Space,Str "\246"] ]
- , [ Plain [Str "section",Str ":",Space,Str "\167"] ]
- , [ Plain [Str "set",Space,Str "membership",Str ":",Space,Str "\8712"] ]
- , [ Plain [Str "copyright",Str ":",Space,Str "\169"] ] ]
-, Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
-, Para [Str "This",Space,Str "&",Space,Str "that."]
-, Para [Str "4",Space,Str "<",Space,Str "5."]
-, Para [Str "6",Space,Str ">",Space,Str "5."]
-, Para [Str "Backslash",Str ":",Space,Str "\\"]
-, Para [Str "Backtick",Str ":",Space,Str "`"]
-, Para [Str "Asterisk",Str ":",Space,Str "*"]
-, Para [Str "Underscore",Str ":",Space,Str "_"]
-, Para [Str "Left",Space,Str "brace",Str ":",Space,Str "{"]
-, Para [Str "Right",Space,Str "brace",Str ":",Space,Str "}"]
-, Para [Str "Left",Space,Str "bracket",Str ":",Space,Str "["]
-, Para [Str "Right",Space,Str "bracket",Str ":",Space,Str "]"]
-, Para [Str "Left",Space,Str "paren",Str ":",Space,Str "("]
-, Para [Str "Right",Space,Str "paren",Str ":",Space,Str ")"]
-, Para [Str "Greater",Str "-",Str "than",Str ":",Space,Str ">"]
-, Para [Str "Hash",Str ":",Space,Str "#"]
-, Para [Str "Period",Str ":",Space,Str "."]
-, Para [Str "Bang",Str ":",Space,Str "!"]
-, Para [Str "Plus",Str ":",Space,Str "+"]
-, Para [Str "Minus",Str ":",Space,Str "-"]
-, Header 1 [Str "Links"]
-, Para [Str "Explicit",Str ":",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
-, Para [Str "Two",Space,Str "anonymous",Space,Str "links",Str ":",Space,Link [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link [Str "the",Space,Str "second"] ("/url2/","")]
-, Para [Str "Reference",Space,Str "links",Str ":",Space,Link [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link [Str "link1"] ("/url1/",""),Space,Str "again."]
-, Para [Str "Here's",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
-, Para [Str "Here's",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT&T"] ("/url/",""),Str "."]
-, Para [Str "Autolinks",Str ":",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2",""),Space,Str "and",Space,Link [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net",""),Str "."]
-, Para [Str "But",Space,Str "not",Space,Str "here",Str ":"]
-, CodeBlock ("",[],[]) "http://example.com/"
-, Header 1 [Str "Images"]
-, Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902)",Str ":"]
-, Plain [Image [Str "image"] ("lalune.jpg","")]
-, Plain [Image [Str "Voyage dans la Lune"] ("lalune.jpg","Voyage dans la Lune")]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
-, Header 1 [Str "Comments"]
-, Para [Str "First",Space,Str "paragraph"]
-, Para [Str "Another",Space,Str "paragraph"]
-, Para [Str "A",Space,Str "third",Space,Str "paragraph"]
-, Header 1 [Str "Line",Space,Str "blocks"]
-, Para [Str "But",Space,Str "can",Space,Str "a",Space,Str "bee",Space,Str "be",Space,Str "said",Space,Str "to",Space,Str "be",LineBreak,Str " ",Str "or",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "an",Space,Str "entire",Space,Str "bee,",LineBreak,Str " ",Str "when",Space,Str "half",Space,Str "the",Space,Str "bee",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "bee,",LineBreak,Str " ",Str "due",Space,Str "to",Space,Str "some",Space,Str "ancient",Space,Str "injury?"]
-, Para [Str "Continuation",Space,Str "line",LineBreak,Str " ",Str "and",Space,Str "another"]
-, Header 1 [Str "Simple",Space,Str "Tables"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
- [ [ Plain [Str "col",Space,Str "1"] ]
- , [ Plain [Str "col",Space,Str "2"] ]
- , [ Plain [Str "col",Space,Str "3"] ] ] [
- [ [ Plain [Str "r1",Space,Str "a"] ]
- , [ Plain [Str "b"] ]
- , [ Plain [Str "c"] ] ],
- [ [ Plain [Str "r2",Space,Str "d"] ]
- , [ Plain [Str "e"] ]
- , [ Plain [Str "f"] ] ] ]
-, Para [Str "Headless"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
- [ []
- , []
- , [] ] [
- [ [ Plain [Str "r1",Space,Str "a"] ]
- , [ Plain [Str "b"] ]
- , [ Plain [Str "c"] ] ],
- [ [ Plain [Str "r2",Space,Str "d"] ]
- , [ Plain [Str "e"] ]
- , [ Plain [Str "f"] ] ] ]
-, Header 1 [Str "Grid",Space,Str "Tables"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
- [ [ Plain [Str "col",Space,Str "1"] ]
- , [ Plain [Str "col",Space,Str "2"] ]
- , [ Plain [Str "col",Space,Str "3"] ] ] [
- [ [ Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"] ]
- , [ Plain [Str "b",Space,Str "b",Space,Str "2"] ]
- , [ Plain [Str "c",Space,Str "c",Space,Str "2"] ] ],
- [ [ Plain [Str "r2",Space,Str "d"] ]
- , [ Plain [Str "e"] ]
- , [ Plain [Str "f"] ] ] ]
-, Para [Str "Headless"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
- [ []
- , []
- , [] ] [
- [ [ Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"] ]
- , [ Plain [Str "b",Space,Str "b",Space,Str "2"] ]
- , [ Plain [Str "c",Space,Str "c",Space,Str "2"] ] ],
- [ [ Plain [Str "r2",Space,Str "d"] ]
- , [ Plain [Str "e"] ]
- , [ Plain [Str "f"] ] ] ]
-, Para [Str "Spaces",Space,Str "at",Space,Str "ends",Space,Str "of",Space,Str "lines"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
- [ []
- , []
- , [] ] [
- [ [ Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"] ]
- , [ Plain [Str "b",Space,Str "b",Space,Str "2"] ]
- , [ Plain [Str "c",Space,Str "c",Space,Str "2"] ] ],
- [ [ Plain [Str "r2",Space,Str "d"] ]
- , [ Plain [Str "e"] ]
- , [ Plain [Str "f"] ] ] ]
-, Para [Str "Multiple",Space,Str "blocks",Space,Str "in",Space,Str "a",Space,Str "cell"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
- [ []
- , []
- , [] ] [
- [ [ Para [Str "r1",Space,Str "a"]
- , Para [Str "r1",Space,Str "bis"] ], [ BulletList
- [ [ Plain [Str "b"] ]
- , [ Plain [Str "b",Space,Str "2"] ]
- , [ Plain [Str "b",Space,Str "2"] ] ] ], [ Plain [Str "c",Space,Str "c",Space,Str "2",Space,Str "c",Space,Str "2"] ] ] ] ]
+[DefinitionList
+ [([Str "Revision"],
+ [[Para [Str "3"]]])]
+,Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
+,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
+,Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
+,Header 3 [Str "Level",Space,Str "three"]
+,Header 4 [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 5 [Str "Level",Space,Str "five"]
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
+,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
+,Para [Str "Horizontal",Space,Str "rule",Str ":"]
+,HorizontalRule
+,Para [Str "Another",Str ":"]
+,HorizontalRule
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "another,",Space,Str "differently",Space,Str "indented",Str ":"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Apostrophe,Str "s",Space,Str "indented",Space,Str "with",Space,Str "a",Space,Str "tab",Str "."]
+ ,Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
+ ,Para [Str "List",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
+ ,OrderedList (1,Decimal,Period)
+ [[Plain [Str "item",Space,Str "one"]]
+ ,[Plain [Str "item",Space,Str "two"]]]
+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes",Str ":"]
+ ,BlockQuote
+ [Para [Str "nested"]
+ ,BlockQuote
+ [Para [Str "nested"]]]]
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}"
+,CodeBlock ("",[],[]) "this code block is indented by one tab"
+,Para [Str "And",Str ":"]
+,CodeBlock ("",[],[]) "this block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,Para [Str "And",Str ":"]
+,CodeBlock ("",["sourceCode","python"],[]) "def my_function(x):\n return x + 1"
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "asterisk",Space,Str "1"]]
+ ,[Plain [Str "asterisk",Space,Str "2"]]
+ ,[Plain [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Asterisks",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Plus",Space,Str "1"]]
+ ,[Plain [Str "Plus",Space,Str "2"]]
+ ,[Plain [Str "Plus",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Minus",Space,Str "1"]]
+ ,[Plain [Str "Minus",Space,Str "2"]]
+ ,[Plain [Str "Minus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second"]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "and",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "One"]]
+ ,[Plain [Str "Two"]]
+ ,[Plain [Str "Three"]]]
+,Para [Str "Loose",Space,Str "using",Space,Str "tabs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and",Space,Str "using",Space,Str "spaces",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
+ ,[Para [Str "Item",Space,Str "2",Str "."]]
+ ,[Para [Str "Item",Space,Str "3",Str "."]]]
+,Para [Str "Nested",Str ":"]
+,BulletList
+ [[Para [Str "Tab"]
+ ,BulletList
+ [[Para [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]]]]]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second",Str ":"]
+ ,BlockQuote
+ [BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]]
+ ,[Para [Str "Third"]]]
+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
+,OrderedList (2,Decimal,TwoParens)
+ [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
+ ,OrderedList (4,LowerRoman,Period)
+ [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]]
+ ,[Para [Str "more",Space,Str "items"]
+ ,OrderedList (1,UpperAlpha,TwoParens)
+ [[Plain [Str "a",Space,Str "subsublist"]]
+ ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
+,Para [Str "Nesting",Str ":"]
+,OrderedList (1,UpperAlpha,Period)
+ [[Para [Str "Upper",Space,Str "Alpha"]
+ ,OrderedList (1,UpperRoman,Period)
+ [[Para [Str "Upper",Space,Str "Roman",Str "."]
+ ,OrderedList (6,Decimal,TwoParens)
+ [[Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
+ ,OrderedList (3,LowerAlpha,OneParen)
+ [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
+,Para [Str "Autonumbering",Str ":"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Autonumber",Str "."]]
+ ,[Para [Str "More",Str "."]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Nested",Str "."]]]]]
+,Para [Str "Autonumbering",Space,Str "with",Space,Str "explicit",Space,Str "start",Str ":"]
+,OrderedList (4,LowerAlpha,TwoParens)
+ [[Plain [Str "item",Space,Str "1"]]
+ ,[Plain [Str "item",Space,Str "2"]]]
+,Header 2 [Str "Definition"]
+,DefinitionList
+ [([Str "term",Space,Str "1"],
+ [[Para [Str "Definition",Space,Str "1",Str "."]]])
+ ,([Str "term",Space,Str "2"],
+ [[Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "1",Str "."]
+ ,Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2",Str "."]]])
+ ,([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]],
+ [[Para [Str "Definition",Space,Str "3",Str "."]]])]
+,Header 1 [Str "Field",Space,Str "Lists"]
+,BlockQuote
+ [DefinitionList
+ [([Str "address"],
+ [[Para [Str "61",Space,Str "Main",Space,Str "St",Str "."]]])
+ ,([Str "city"],
+ [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
+ ,([Str "phone"],
+ [[Para [Str "123",EnDash,Str "4567"]]])]]
+,DefinitionList
+ [([Str "address"],
+ [[Para [Str "61",Space,Str "Main",Space,Str "St",Str "."]]])
+ ,([Str "city"],
+ [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
+ ,([Str "phone"],
+ [[Para [Str "123",EnDash,Str "4567"]]])]
+,Header 1 [Str "HTML",Space,Str "Blocks"]
+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
+,RawBlock "html" "<div>foo</div>\n"
+,Para [Str "Now,",Space,Str "nested",Str ":"]
+,RawBlock "html" "<div>\n <div>\n <div>\n foo\n </div>\n </div>\n</div>\n"
+,Header 1 [Str "LaTeX",Space,Str "Block"]
+,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}\n"
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str "."]
+,Para [Str "This",Space,Str "is",Space,Str "code",Str ":",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
+,Para [Str "This",Space,Str "is",Subscript [Str "subscripted"],Space,Str "and",Space,Str "this",Space,Str "is",Space,Superscript [Str "superscripted"],Str "."]
+,Header 1 [Str "Special",Space,Str "Characters"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode",Str ":"]
+,BulletList
+ [[Plain [Str "I",Space,Str "hat",Str ":",Space,Str "\206"]]
+ ,[Plain [Str "o",Space,Str "umlaut",Str ":",Space,Str "\246"]]
+ ,[Plain [Str "section",Str ":",Space,Str "\167"]]
+ ,[Plain [Str "set",Space,Str "membership",Str ":",Space,Str "\8712"]]
+ ,[Plain [Str "copyright",Str ":",Space,Str "\169"]]]
+,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
+,Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
+,Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
+,Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
+,Para [Str "Backslash",Str ":",Space,Str "\\"]
+,Para [Str "Backtick",Str ":",Space,Str "`"]
+,Para [Str "Asterisk",Str ":",Space,Str "*"]
+,Para [Str "Underscore",Str ":",Space,Str "_"]
+,Para [Str "Left",Space,Str "brace",Str ":",Space,Str "{"]
+,Para [Str "Right",Space,Str "brace",Str ":",Space,Str "}"]
+,Para [Str "Left",Space,Str "bracket",Str ":",Space,Str "["]
+,Para [Str "Right",Space,Str "bracket",Str ":",Space,Str "]"]
+,Para [Str "Left",Space,Str "paren",Str ":",Space,Str "("]
+,Para [Str "Right",Space,Str "paren",Str ":",Space,Str ")"]
+,Para [Str "Greater",Str "-",Str "than",Str ":",Space,Str ">"]
+,Para [Str "Hash",Str ":",Space,Str "#"]
+,Para [Str "Period",Str ":",Space,Str "."]
+,Para [Str "Bang",Str ":",Space,Str "!"]
+,Para [Str "Plus",Str ":",Space,Str "+"]
+,Para [Str "Minus",Str ":",Space,Str "-"]
+,Header 1 [Str "Links"]
+,Para [Str "Explicit",Str ":",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
+,Para [Str "Two",Space,Str "anonymous",Space,Str "links",Str ":",Space,Link [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link [Str "the",Space,Str "second"] ("/url2/","")]
+,Para [Str "Reference",Space,Str "links",Str ":",Space,Link [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link [Str "link1"] ("/url1/",""),Space,Str "again",Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT&T"] ("/url/",""),Str "."]
+,Para [Str "Autolinks",Str ":",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2",""),Space,Str "and",Space,Link [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net",""),Str "."]
+,Para [Str "But",Space,Str "not",Space,Str "here",Str ":"]
+,CodeBlock ("",[],[]) "http://example.com/"
+,Header 1 [Str "Images"]
+,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902)",Str ":"]
+,Plain [Image [Str "image"] ("lalune.jpg","")]
+,Plain [Image [Str "Voyage dans la Lune"] ("lalune.jpg","")]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
+,Header 1 [Str "Comments"]
+,Para [Str "First",Space,Str "paragraph"]
+,Para [Str "Another",Space,Str "paragraph"]
+,Para [Str "A",Space,Str "third",Space,Str "paragraph"]
+,Header 1 [Str "Line",Space,Str "blocks"]
+,Para [Str "But",Space,Str "can",Space,Str "a",Space,Str "bee",Space,Str "be",Space,Str "said",Space,Str "to",Space,Str "be",LineBreak,Str " ",Str "or",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "an",Space,Str "entire",Space,Str "bee,",LineBreak,Str " ",Str "when",Space,Str "half",Space,Str "the",Space,Str "bee",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "bee,",LineBreak,Str " ",Str "due",Space,Str "to",Space,Str "some",Space,Str "ancient",Space,Str "injury?"]
+,Para [Str "Continuation",Space,Str "line",LineBreak,Str " ",Str "and",Space,Str "another"]
+,Header 1 [Str "Simple",Space,Str "Tables"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
+ [[Plain [Str "col",Space,Str "1"]]
+ ,[Plain [Str "col",Space,Str "2"]]
+ ,[Plain [Str "col",Space,Str "3"]]]
+ [[[Plain [Str "r1",Space,Str "a"]]
+ ,[Plain [Str "b"]]
+ ,[Plain [Str "c"]]]
+ ,[[Plain [Str "r2",Space,Str "d"]]
+ ,[Plain [Str "e"]]
+ ,[Plain [Str "f"]]]]
+,Para [Str "Headless"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
+ [[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "r1",Space,Str "a"]]
+ ,[Plain [Str "b"]]
+ ,[Plain [Str "c"]]]
+ ,[[Plain [Str "r2",Space,Str "d"]]
+ ,[Plain [Str "e"]]
+ ,[Plain [Str "f"]]]]
+,Header 1 [Str "Grid",Space,Str "Tables"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
+ [[Plain [Str "col",Space,Str "1"]]
+ ,[Plain [Str "col",Space,Str "2"]]
+ ,[Plain [Str "col",Space,Str "3"]]]
+ [[[Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"]]
+ ,[Plain [Str "b",Space,Str "b",Space,Str "2"]]
+ ,[Plain [Str "c",Space,Str "c",Space,Str "2"]]]
+ ,[[Plain [Str "r2",Space,Str "d"]]
+ ,[Plain [Str "e"]]
+ ,[Plain [Str "f"]]]]
+,Para [Str "Headless"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
+ [[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"]]
+ ,[Plain [Str "b",Space,Str "b",Space,Str "2"]]
+ ,[Plain [Str "c",Space,Str "c",Space,Str "2"]]]
+ ,[[Plain [Str "r2",Space,Str "d"]]
+ ,[Plain [Str "e"]]
+ ,[Plain [Str "f"]]]]
+,Para [Str "Spaces",Space,Str "at",Space,Str "ends",Space,Str "of",Space,Str "lines"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
+ [[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "r1",Space,Str "a",Space,Str "r1",Space,Str "bis"]]
+ ,[Plain [Str "b",Space,Str "b",Space,Str "2"]]
+ ,[Plain [Str "c",Space,Str "c",Space,Str "2"]]]
+ ,[[Plain [Str "r2",Space,Str "d"]]
+ ,[Plain [Str "e"]]
+ ,[Plain [Str "f"]]]]
+,Para [Str "Multiple",Space,Str "blocks",Space,Str "in",Space,Str "a",Space,Str "cell"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
+ [[]
+ ,[]
+ ,[]]
+ [[[Para [Str "r1",Space,Str "a"]
+ ,Para [Str "r1",Space,Str "bis"]]
+ ,[BulletList
+ [[Plain [Str "b"]]
+ ,[Plain [Str "b",Space,Str "2"]]
+ ,[Plain [Str "b",Space,Str "2"]]]]
+ ,[Plain [Str "c",Space,Str "c",Space,Str "2",Space,Str "c",Space,Str "2"]]]]
+,Header 1 [Str "Footnotes"]
+,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "one",Space,Str "line",Str "."]]]
+,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "continuation",Space,Str "line",Str "."]]]
+,Para [Note [Para [Str "Note",Space,Str "with"],Para [Str "continuation",Space,Str "block",Str "."]]]
+,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "continuation",Space,Str "line"],Para [Str "and",Space,Str "a",Space,Str "second",Space,Str "para",Str "."]]]
+,Para [Str "Not",Space,Str "in",Space,Str "note",Str "."]]
diff --git a/tests/rst-reader.rst b/tests/rst-reader.rst
index 8c4b7d726..519f0080c 100644
--- a/tests/rst-reader.rst
+++ b/tests/rst-reader.rst
@@ -508,3 +508,31 @@ Multiple blocks in a cell
| | - b 2 | c 2 |
| r1 bis | - b 2 | c 2 |
+------------------+-----------+------------+
+
+Footnotes
+=========
+
+[1]_
+
+[#]_
+
+[#]_
+
+[*]_
+
+.. [1] Note with one line.
+
+.. [#] Note with
+ continuation line.
+
+.. [#] Note with
+
+ continuation block.
+
+.. [*] Note with
+ continuation line
+
+ and a second para.
+
+Not in note.
+
diff --git a/tests/s5.basic.html b/tests/s5.basic.html
index 825d05868..64971417a 100644
--- a/tests/s5.basic.html
+++ b/tests/s5.basic.html
@@ -1,12 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>My S5 Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Sam Smith" />
<meta name="author" content="Jen Jones" />
<meta name="date" content="July 15, 2006" />
+ <title>My S5 Document</title>
<!-- configuration parameters -->
<meta name="defaultView" content="slideshow" />
<meta name="controlVis" content="hidden" />
diff --git a/tests/s5.fancy.html b/tests/s5.fancy.html
index f4f2e7815..200990b6a 100644
--- a/tests/s5.fancy.html
+++ b/tests/s5.fancy.html
@@ -1,12 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>My S5 Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Sam Smith" />
<meta name="author" content="Jen Jones" />
<meta name="date" content="July 15, 2006" />
+ <title>My S5 Document</title>
<!-- configuration parameters -->
<meta name="defaultView" content="slideshow" />
<meta name="controlVis" content="hidden" />
diff --git a/tests/s5.fragment.html b/tests/s5.fragment.html
index cc111566a..9845e1409 100644
--- a/tests/s5.fragment.html
+++ b/tests/s5.fragment.html
@@ -14,4 +14,4 @@
>$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</span
></li
></ul
-> \ No newline at end of file
+>
diff --git a/tests/s5.inserts.html b/tests/s5.inserts.html
index 90014f2e6..3010ef758 100644
--- a/tests/s5.inserts.html
+++ b/tests/s5.inserts.html
@@ -1,12 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>My S5 Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Sam Smith" />
<meta name="author" content="Jen Jones" />
<meta name="date" content="July 15, 2006" />
+ <title>My S5 Document</title>
<link rel="stylesheet" href="main.css" type="text/css" />
STUFF INSERTED
</head>
diff --git a/tests/s5.native b/tests/s5.native
index c6175478d..020ee4079 100644
--- a/tests/s5.native
+++ b/tests/s5.native
@@ -1,9 +1,8 @@
Pandoc (Meta {docTitle = [Str "My",Space,Str "S5",Space,Str "Document"], docAuthors = [[Str "Sam",Space,Str "Smith"],[Str "Jen",Space,Str "Jones"]], docDate = [Str "July",Space,Str "15,",Space,Str "2006"]})
-[ Header 1 [Str "First",Space,Str "slide"]
-, BulletList
- [ [ Plain [Str "first",Space,Str "bullet"] ]
- , [ Plain [Str "second",Space,Str "bullet"] ] ]
-, Header 1 [Str "Math"]
-, BulletList
- [ [ Plain [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"] ]
- ] ]
+[Header 1 [Str "First",Space,Str "slide"]
+,BulletList
+ [[Plain [Str "first",Space,Str "bullet"]]
+ ,[Plain [Str "second",Space,Str "bullet"]]]
+,Header 1 [Str "Math"]
+,BulletList
+ [[Plain [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]]]
diff --git a/tests/tables-rstsubset.native b/tests/tables-rstsubset.native
index 7941772b5..ef89fea29 100644
--- a/tests/tables-rstsubset.native
+++ b/tests/tables-rstsubset.native
@@ -1,118 +1,117 @@
-Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
-[ Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Table",Str ":",Space,Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."]
-, Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Table",Str ":",Space,Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."]
-, Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
- [ [ Plain [Str "Centered",Space,Str "Header"] ]
- , [ Plain [Str "Left",Space,Str "Aligned"] ]
- , [ Plain [Str "Right",Space,Str "Aligned"] ]
- , [ Plain [Str "Default",Space,Str "aligned"] ] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12.0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5.0"] ]
- , [ Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."] ] ] ]
-, Para [Str "Table",Str ":",Space,Str "Here's",Space,Str "the",Space,Str "caption.",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."]
-, Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
- [ [ Plain [Str "Centered",Space,Str "Header"] ]
- , [ Plain [Str "Left",Space,Str "Aligned"] ]
- , [ Plain [Str "Right",Space,Str "Aligned"] ]
- , [ Plain [Str "Default",Space,Str "aligned"] ] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12.0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5.0"] ]
- , [ Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."] ] ] ]
-, Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1,0.1,0.1,0.1]
- [ []
- , []
- , []
- , [] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
-, Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
- [ []
- , []
- , []
- , [] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12.0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5.0"] ]
- , [ Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."] ] ] ] ]
+[Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Table",Str ":",Space,Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."]
+,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.125,0.1125,0.1375,0.15]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Table",Str ":",Space,Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."]
+,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
+ [[Plain [Str "Centered",Space,Str "Header"]]
+ ,[Plain [Str "Left",Space,Str "Aligned"]]
+ ,[Plain [Str "Right",Space,Str "Aligned"]]
+ ,[Plain [Str "Default",Space,Str "aligned"]]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]
+,Para [Str "Table",Str ":",Space,Str "Here",Str "'",Str "s",Space,Str "the",Space,Str "caption",Str ".",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines",Str "."]
+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
+ [[Plain [Str "Centered",Space,Str "Header"]]
+ ,[Plain [Str "Left",Space,Str "Aligned"]]
+ ,[Plain [Str "Right",Space,Str "Aligned"]]
+ ,[Plain [Str "Default",Space,Str "aligned"]]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]
+,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1,0.1,0.1,0.1]
+ [[]
+ ,[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
+ [[]
+ ,[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]]
diff --git a/tests/tables.docbook b/tests/tables.docbook
index a24964600..6483a97c0 100644
--- a/tests/tables.docbook
+++ b/tests/tables.docbook
@@ -399,4 +399,4 @@
</td>
</tr>
</tbody>
-</informaltable> \ No newline at end of file
+</informaltable>
diff --git a/tests/tables.html b/tests/tables.html
index 93944828c..e4dd6be58 100644
--- a/tests/tables.html
+++ b/tests/tables.html
@@ -298,4 +298,4 @@
></tr
></tbody
></table
-> \ No newline at end of file
+>
diff --git a/tests/tables.latex b/tests/tables.latex
index 5dac8e2a0..89bcf9d9f 100644
--- a/tests/tables.latex
+++ b/tests/tables.latex
@@ -3,27 +3,11 @@ Simple table with caption:
\begin{table}[h]
\begin{center}
\begin{tabular}{rlcl}
-Right
- & Left
- & Center
- & Default
-\\
+Right & Left & Center & Default\\
\hline
-12
- & 12
- & 12
- & 12
-\\
-123
- & 123
- & 123
- & 123
-\\
-1
- & 1
- & 1
- & 1
-\\
+12 & 12 & 12 & 12\\
+123 & 123 & 123 & 123\\
+1 & 1 & 1 & 1\\
\end{tabular}
\end{center}
\caption{Demonstration of simple table syntax.}
@@ -33,27 +17,11 @@ Simple table without caption:
\begin{center}
\begin{tabular}{rlcl}
-Right
- & Left
- & Center
- & Default
-\\
+Right & Left & Center & Default\\
\hline
-12
- & 12
- & 12
- & 12
-\\
-123
- & 123
- & 123
- & 123
-\\
-1
- & 1
- & 1
- & 1
-\\
+12 & 12 & 12 & 12\\
+123 & 123 & 123 & 123\\
+1 & 1 & 1 & 1\\
\end{tabular}
\end{center}
@@ -62,27 +30,11 @@ Simple table indented two spaces:
\begin{table}[h]
\begin{center}
\begin{tabular}{rlcl}
-Right
- & Left
- & Center
- & Default
-\\
+Right & Left & Center & Default\\
\hline
-12
- & 12
- & 12
- & 12
-\\
-123
- & 123
- & 123
- & 123
-\\
-1
- & 1
- & 1
- & 1
-\\
+12 & 12 & 12 & 12\\
+123 & 123 & 123 & 123\\
+1 & 1 & 1 & 1\\
\end{tabular}
\end{center}
\caption{Demonstration of simple table syntax.}
@@ -93,22 +45,23 @@ Multiline table with caption:
\begin{table}[h]
\begin{center}
\begin{tabular}{>{\PBS\centering\hspace{0pt}}p{0.15\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.14\columnwidth}>{\PBS\raggedleft\hspace{0pt}}p{0.16\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.34\columnwidth}}
-Centered Header
- & Left Aligned
- & Right Aligned
- & Default aligned
-\\
+\parbox{0.15\columnwidth}{Centered Header
+} & \parbox{0.14\columnwidth}{Left Aligned
+} & \parbox{0.16\columnwidth}{Right Aligned
+} & \parbox{0.34\columnwidth}{Default aligned
+}\\
\hline
-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.
-\\
+\parbox{0.15\columnwidth}{First
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{12.0
+} & \parbox{0.34\columnwidth}{Example of a row that spans multiple lines.
+}\\
+\parbox{0.15\columnwidth}{Second
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{5.0
+} & \parbox{0.34\columnwidth}{Here's another one. Note the blank line between
+rows.
+}\\
\end{tabular}
\end{center}
\caption{Here's the caption. It may span multiple lines.}
@@ -118,22 +71,23 @@ Multiline table without caption:
\begin{center}
\begin{tabular}{>{\PBS\centering\hspace{0pt}}p{0.15\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.14\columnwidth}>{\PBS\raggedleft\hspace{0pt}}p{0.16\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.34\columnwidth}}
-Centered Header
- & Left Aligned
- & Right Aligned
- & Default aligned
-\\
+\parbox{0.15\columnwidth}{Centered Header
+} & \parbox{0.14\columnwidth}{Left Aligned
+} & \parbox{0.16\columnwidth}{Right Aligned
+} & \parbox{0.34\columnwidth}{Default aligned
+}\\
\hline
-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.
-\\
+\parbox{0.15\columnwidth}{First
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{12.0
+} & \parbox{0.34\columnwidth}{Example of a row that spans multiple lines.
+}\\
+\parbox{0.15\columnwidth}{Second
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{5.0
+} & \parbox{0.34\columnwidth}{Here's another one. Note the blank line between
+rows.
+}\\
\end{tabular}
\end{center}
@@ -141,21 +95,9 @@ Table without column headers:
\begin{center}
\begin{tabular}{rlcr}
-12
- & 12
- & 12
- & 12
-\\
-123
- & 123
- & 123
- & 123
-\\
-1
- & 1
- & 1
- & 1
-\\
+12 & 12 & 12 & 12\\
+123 & 123 & 123 & 123\\
+1 & 1 & 1 & 1\\
\end{tabular}
\end{center}
@@ -163,15 +105,17 @@ Multiline table without column headers:
\begin{center}
\begin{tabular}{>{\PBS\centering\hspace{0pt}}p{0.15\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.14\columnwidth}>{\PBS\raggedleft\hspace{0pt}}p{0.16\columnwidth}>{\PBS\raggedright\hspace{0pt}}p{0.34\columnwidth}}
-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.
-\\
+\parbox{0.15\columnwidth}{First
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{12.0
+} & \parbox{0.34\columnwidth}{Example of a row that spans multiple lines.
+}\\
+\parbox{0.15\columnwidth}{Second
+} & \parbox{0.14\columnwidth}{row
+} & \parbox{0.16\columnwidth}{5.0
+} & \parbox{0.34\columnwidth}{Here's another one. Note the blank line between
+rows.
+}\\
\end{tabular}
\end{center}
+
diff --git a/tests/tables.markdown b/tests/tables.markdown
index 95bcc667e..4b5754cf9 100644
--- a/tests/tables.markdown
+++ b/tests/tables.markdown
@@ -5,7 +5,7 @@ Simple table with caption:
12 12 12 12
123 123 123 123
1 1 1 1
-
+
: Demonstration of simple table syntax.
Simple table without caption:
@@ -23,34 +23,34 @@ Simple table indented two spaces:
12 12 12 12
123 123 123 123
1 1 1 1
-
+
: Demonstration of simple table syntax.
Multiline table with caption:
--------------------------------------------------------------
Centered Left Right Default aligned
- Header Aligned 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.
--------------------------------------------------------------
-
+
: Here's the caption. It may span multiple lines.
Multiline table without caption:
--------------------------------------------------------------
Centered Left Right Default aligned
- Header Aligned 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.
@@ -69,8 +69,10 @@ 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/tables.mediawiki b/tests/tables.mediawiki
index d0e5c7b9e..4836ecd79 100644
--- a/tests/tables.mediawiki
+++ b/tests/tables.mediawiki
@@ -209,3 +209,4 @@ Multiline table without column headers:
</tr>
</tbody>
</table>
+
diff --git a/tests/tables.native b/tests/tables.native
index 8592831fe..1d714d730 100644
--- a/tests/tables.native
+++ b/tests/tables.native
@@ -1,115 +1,114 @@
-Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
-[ Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"]
-, Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"]
-, Table [] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces:"]
-, Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
- [ [ Plain [Str "Right"] ]
- , [ Plain [Str "Left"] ]
- , [ Plain [Str "Center"] ]
- , [ Plain [Str "Default"] ] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"]
-, Table [Str "Here",Str "'",Str "s",Space,Str "the",Space,Str "caption",Str ".",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines",Str "."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
- [ [ Plain [Str "Centered",Space,Str "Header"] ]
- , [ Plain [Str "Left",Space,Str "Aligned"] ]
- , [ Plain [Str "Right",Space,Str "Aligned"] ]
- , [ Plain [Str "Default",Space,Str "aligned"] ] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12",Str ".",Str "0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5",Str ".",Str "0"] ]
- , [ Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."] ] ] ]
-, Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"]
-, Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
- [ [ Plain [Str "Centered",Space,Str "Header"] ]
- , [ Plain [Str "Left",Space,Str "Aligned"] ]
- , [ Plain [Str "Right",Space,Str "Aligned"] ]
- , [ Plain [Str "Default",Space,Str "aligned"] ] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12",Str ".",Str "0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5",Str ".",Str "0"] ]
- , [ Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."] ] ] ]
-, Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
-, Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0]
- [ []
- , []
- , []
- , [] ] [
- [ [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ]
- , [ Plain [Str "12"] ] ],
- [ [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ]
- , [ Plain [Str "123"] ] ],
- [ [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ]
- , [ Plain [Str "1"] ] ] ]
-, Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
-, Table [] [AlignCenter,AlignLeft,AlignRight,AlignDefault] [0.15,0.1375,0.1625,0.3375]
- [ []
- , []
- , []
- , [] ] [
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "12",Str ".",Str "0"] ]
- , [ Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."] ] ],
- [ [ Plain [Str "Second"] ]
- , [ Plain [Str "row"] ]
- , [ Plain [Str "5",Str ".",Str "0"] ]
- , [ Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."] ] ] ] ]
+[Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
+,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
+,Table [] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces",Str ":"]
+,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax",Str "."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0]
+ [[Plain [Str "Right"]]
+ ,[Plain [Str "Left"]]
+ ,[Plain [Str "Center"]]
+ ,[Plain [Str "Default"]]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption",Str ":"]
+,Table [Str "Here",Str "'",Str "s",Space,Str "the",Space,Str "caption",Str ".",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines",Str "."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
+ [[Plain [Str "Centered",Space,Str "Header"]]
+ ,[Plain [Str "Left",Space,Str "Aligned"]]
+ ,[Plain [Str "Right",Space,Str "Aligned"]]
+ ,[Plain [Str "Default",Space,Str "aligned"]]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]
+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption",Str ":"]
+,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
+ [[Plain [Str "Centered",Space,Str "Header"]]
+ ,[Plain [Str "Left",Space,Str "Aligned"]]
+ ,[Plain [Str "Right",Space,Str "Aligned"]]
+ ,[Plain [Str "Default",Space,Str "aligned"]]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]
+,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
+,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0]
+ [[]
+ ,[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]
+ ,[Plain [Str "12"]]]
+ ,[[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]
+ ,[Plain [Str "123"]]]
+ ,[[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]
+ ,[Plain [Str "1"]]]]
+,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers",Str ":"]
+,Table [] [AlignCenter,AlignLeft,AlignRight,AlignDefault] [0.15,0.1375,0.1625,0.3375]
+ [[]
+ ,[]
+ ,[]
+ ,[]]
+ [[[Plain [Str "First"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "12",Str ".",Str "0"]]
+ ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines",Str "."]]]
+ ,[[Plain [Str "Second"]]
+ ,[Plain [Str "row"]]
+ ,[Plain [Str "5",Str ".",Str "0"]]
+ ,[Plain [Str "Here",Str "'",Str "s",Space,Str "another",Space,Str "one",Str ".",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows",Str "."]]]]]
diff --git a/tests/tables.opendocument b/tests/tables.opendocument
index c071e526d..e103dee12 100644
--- a/tests/tables.opendocument
+++ b/tests/tables.opendocument
@@ -63,7 +63,8 @@
</table:table-cell>
</table:table-row>
</table:table>
-<text:p text:style-name="Caption">Demonstration of simple table syntax.</text:p>
+<text:p text:style-name="Caption">Demonstration of simple table
+syntax.</text:p>
<text:p text:style-name="Text_20_body">Simple table without caption:</text:p>
<table:table table:name="Table2" table:style-name="Table2">
<table:table-column table:style-name="Table2.A" />
@@ -129,7 +130,8 @@
</table:table-cell>
</table:table-row>
</table:table>
-<text:p text:style-name="Text_20_body">Simple table indented two spaces:</text:p>
+<text:p text:style-name="Text_20_body">Simple table indented two
+spaces:</text:p>
<table:table table:name="Table3" table:style-name="Table3">
<table:table-column table:style-name="Table3.A" />
<table:table-column table:style-name="Table3.B" />
@@ -194,7 +196,8 @@
</table:table-cell>
</table:table-row>
</table:table>
-<text:p text:style-name="Caption">Demonstration of simple table syntax.</text:p>
+<text:p text:style-name="Caption">Demonstration of simple table
+syntax.</text:p>
<text:p text:style-name="Text_20_body">Multiline table with caption:</text:p>
<table:table table:name="Table4" table:style-name="Table4">
<table:table-column table:style-name="Table4.A" />
@@ -228,7 +231,8 @@
<text:p text:style-name="P16">12.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table4.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Example of a row that spans multiple lines.</text:p>
+ <text:p text:style-name="Table_20_Contents">Example of a row that spans
+ multiple lines.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
@@ -242,12 +246,15 @@
<text:p text:style-name="P16">5.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table4.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Here's another one. Note the blank line between rows.</text:p>
+ <text:p text:style-name="Table_20_Contents">Here's another one. Note the
+ blank line between rows.</text:p>
</table:table-cell>
</table:table-row>
</table:table>
-<text:p text:style-name="Caption">Here's the caption. It may span multiple lines.</text:p>
-<text:p text:style-name="Text_20_body">Multiline table without caption:</text:p>
+<text:p text:style-name="Caption">Here's the caption. It may span multiple
+lines.</text:p>
+<text:p text:style-name="Text_20_body">Multiline table without
+caption:</text:p>
<table:table table:name="Table5" table:style-name="Table5">
<table:table-column table:style-name="Table5.A" />
<table:table-column table:style-name="Table5.B" />
@@ -280,7 +287,8 @@
<text:p text:style-name="P20">12.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table5.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Example of a row that spans multiple lines.</text:p>
+ <text:p text:style-name="Table_20_Contents">Example of a row that spans
+ multiple lines.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
@@ -294,7 +302,8 @@
<text:p text:style-name="P20">5.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table5.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Here's another one. Note the blank line between rows.</text:p>
+ <text:p text:style-name="Table_20_Contents">Here's another one. Note the
+ blank line between rows.</text:p>
</table:table-cell>
</table:table-row>
</table:table>
@@ -347,7 +356,8 @@
</table:table-cell>
</table:table-row>
</table:table>
-<text:p text:style-name="Text_20_body">Multiline table without column headers:</text:p>
+<text:p text:style-name="Text_20_body">Multiline table without column
+headers:</text:p>
<table:table table:name="Table7" table:style-name="Table7">
<table:table-column table:style-name="Table7.A" />
<table:table-column table:style-name="Table7.B" />
@@ -364,7 +374,8 @@
<text:p text:style-name="P30">12.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table7.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Example of a row that spans multiple lines.</text:p>
+ <text:p text:style-name="Table_20_Contents">Example of a row that spans
+ multiple lines.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
@@ -378,7 +389,8 @@
<text:p text:style-name="P30">5.0</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table7.A1" office:value-type="string">
- <text:p text:style-name="Table_20_Contents">Here's another one. Note the blank line between rows.</text:p>
+ <text:p text:style-name="Table_20_Contents">Here's another one. Note the
+ blank line between rows.</text:p>
</table:table-cell>
</table:table-row>
-</table:table> \ No newline at end of file
+</table:table>
diff --git a/tests/tables.org b/tests/tables.org
new file mode 100644
index 000000000..8d9100d07
--- /dev/null
+++ b/tests/tables.org
@@ -0,0 +1,52 @@
+Simple table with caption:
+
+| Right | Left | Center | Default |
+|---------+--------+----------+-----------|
+| 12 | 12 | 12 | 12 |
+| 123 | 123 | 123 | 123 |
+| 1 | 1 | 1 | 1 |
+#+CAPTION: 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 |
+#+CAPTION: Demonstration of simple table syntax.
+
+Multiline table with 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. |
+#+CAPTION: Here's the caption. It may span multiple lines.
+
+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/tests/tables.plain b/tests/tables.plain
index 95bcc667e..4b5754cf9 100644
--- a/tests/tables.plain
+++ b/tests/tables.plain
@@ -5,7 +5,7 @@ Simple table with caption:
12 12 12 12
123 123 123 123
1 1 1 1
-
+
: Demonstration of simple table syntax.
Simple table without caption:
@@ -23,34 +23,34 @@ Simple table indented two spaces:
12 12 12 12
123 123 123 123
1 1 1 1
-
+
: Demonstration of simple table syntax.
Multiline table with caption:
--------------------------------------------------------------
Centered Left Right Default aligned
- Header Aligned 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.
--------------------------------------------------------------
-
+
: Here's the caption. It may span multiple lines.
Multiline table without caption:
--------------------------------------------------------------
Centered Left Right Default aligned
- Header Aligned 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.
@@ -69,8 +69,10 @@ 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/tables.rst b/tests/tables.rst
index 25d5932ea..e77f69d97 100644
--- a/tests/tables.rst
+++ b/tests/tables.rst
@@ -88,3 +88,4 @@ Multiline table without column headers:
| | | | the blank line between |
| | | | rows. |
+-------------+------------+--------------+----------------------------+
+
diff --git a/tests/tables.rtf b/tests/tables.rtf
index 011724967..e7c1e9f60 100644
--- a/tests/tables.rtf
+++ b/tests/tables.rtf
@@ -357,3 +357,4 @@
}
\intbl\row}
{\pard \ql \f0 \sa180 \li0 \fi0 \par}
+
diff --git a/tests/tables.textile b/tests/tables.textile
new file mode 100644
index 000000000..4836ecd79
--- /dev/null
+++ b/tests/tables.textile
@@ -0,0 +1,212 @@
+Simple table with caption:
+
+<table>
+<caption>Demonstration of simple table syntax.</caption>
+<thead>
+<tr class="header">
+<th align="right">Right</th>
+<th align="left">Left</th>
+<th align="center">Center</th>
+<th align="left">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="right">12</td>
+<td align="left">12</td>
+<td align="center">12</td>
+<td align="left">12</td>
+</tr>
+<tr class="even">
+<td align="right">123</td>
+<td align="left">123</td>
+<td align="center">123</td>
+<td align="left">123</td>
+</tr>
+<tr class="odd">
+<td align="right">1</td>
+<td align="left">1</td>
+<td align="center">1</td>
+<td align="left">1</td>
+</tr>
+</tbody>
+</table>
+
+Simple table without caption:
+
+<table>
+<thead>
+<tr class="header">
+<th align="right">Right</th>
+<th align="left">Left</th>
+<th align="center">Center</th>
+<th align="left">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="right">12</td>
+<td align="left">12</td>
+<td align="center">12</td>
+<td align="left">12</td>
+</tr>
+<tr class="even">
+<td align="right">123</td>
+<td align="left">123</td>
+<td align="center">123</td>
+<td align="left">123</td>
+</tr>
+<tr class="odd">
+<td align="right">1</td>
+<td align="left">1</td>
+<td align="center">1</td>
+<td align="left">1</td>
+</tr>
+</tbody>
+</table>
+
+Simple table indented two spaces:
+
+<table>
+<caption>Demonstration of simple table syntax.</caption>
+<thead>
+<tr class="header">
+<th align="right">Right</th>
+<th align="left">Left</th>
+<th align="center">Center</th>
+<th align="left">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="right">12</td>
+<td align="left">12</td>
+<td align="center">12</td>
+<td align="left">12</td>
+</tr>
+<tr class="even">
+<td align="right">123</td>
+<td align="left">123</td>
+<td align="center">123</td>
+<td align="left">123</td>
+</tr>
+<tr class="odd">
+<td align="right">1</td>
+<td align="left">1</td>
+<td align="center">1</td>
+<td align="left">1</td>
+</tr>
+</tbody>
+</table>
+
+Multiline table with caption:
+
+<table>
+<caption>Here's the caption. It may span multiple lines.</caption>
+<col width="15%" />
+<col width="13%" />
+<col width="16%" />
+<col width="33%" />
+<thead>
+<tr class="header">
+<th align="center">Centered Header</th>
+<th align="left">Left Aligned</th>
+<th align="right">Right Aligned</th>
+<th align="left">Default aligned</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="center">First</td>
+<td align="left">row</td>
+<td align="right">12.0</td>
+<td align="left">Example of a row that spans multiple lines.</td>
+</tr>
+<tr class="even">
+<td align="center">Second</td>
+<td align="left">row</td>
+<td align="right">5.0</td>
+<td align="left">Here's another one. Note the blank line between rows.</td>
+</tr>
+</tbody>
+</table>
+
+Multiline table without caption:
+
+<table>
+<col width="15%" />
+<col width="13%" />
+<col width="16%" />
+<col width="33%" />
+<thead>
+<tr class="header">
+<th align="center">Centered Header</th>
+<th align="left">Left Aligned</th>
+<th align="right">Right Aligned</th>
+<th align="left">Default aligned</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="center">First</td>
+<td align="left">row</td>
+<td align="right">12.0</td>
+<td align="left">Example of a row that spans multiple lines.</td>
+</tr>
+<tr class="even">
+<td align="center">Second</td>
+<td align="left">row</td>
+<td align="right">5.0</td>
+<td align="left">Here's another one. Note the blank line between rows.</td>
+</tr>
+</tbody>
+</table>
+
+Table without column headers:
+
+<table>
+<tbody>
+<tr class="odd">
+<td align="right">12</td>
+<td align="left">12</td>
+<td align="center">12</td>
+<td align="right">12</td>
+</tr>
+<tr class="even">
+<td align="right">123</td>
+<td align="left">123</td>
+<td align="center">123</td>
+<td align="right">123</td>
+</tr>
+<tr class="odd">
+<td align="right">1</td>
+<td align="left">1</td>
+<td align="center">1</td>
+<td align="right">1</td>
+</tr>
+</tbody>
+</table>
+
+Multiline table without column headers:
+
+<table>
+<col width="15%" />
+<col width="13%" />
+<col width="16%" />
+<col width="33%" />
+<tbody>
+<tr class="odd">
+<td align="center">First</td>
+<td align="left">row</td>
+<td align="right">12.0</td>
+<td align="left">Example of a row that spans multiple lines.</td>
+</tr>
+<tr class="even">
+<td align="center">Second</td>
+<td align="left">row</td>
+<td align="right">5.0</td>
+<td align="left">Here's another one. Note the blank line between rows.</td>
+</tr>
+</tbody>
+</table>
+
diff --git a/tests/testsuite.native b/tests/testsuite.native
index ced38537c..879cb24fc 100644
--- a/tests/testsuite.native
+++ b/tests/testsuite.native
@@ -1,417 +1,396 @@
-Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
-[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
-, HorizontalRule
-, Header 1 [Str "Headers"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
-, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 4 [Str "Level",Space,Str "4"]
-, Header 5 [Str "Level",Space,Str "5"]
-, Header 1 [Str "Level",Space,Str "1"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 3 [Str "Level",Space,Str "3"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, Header 2 [Str "Level",Space,Str "2"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, HorizontalRule
-, Header 1 [Str "Paragraphs"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
-, Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
-, Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
-, HorizontalRule
-, Header 1 [Str "Block",Space,Str "Quotes"]
-, Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."] ]
-
-, BlockQuote
- [ Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
- , Para [Str "A",Space,Str "list:"]
- , OrderedList (1,Decimal,Period)
- [ [ Plain [Str "item",Space,Str "one"] ]
- , [ Plain [Str "item",Space,Str "two"] ] ]
- , Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
- , BlockQuote
- [ Para [Str "nested"] ]
-
- , BlockQuote
- [ Para [Str "nested"] ]
- ]
-, Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
-, Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
-, HorizontalRule
-, Header 1 [Str "Code",Space,Str "Blocks"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
-, Para [Str "And:"]
-, CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
-, HorizontalRule
-, Header 1 [Str "Lists"]
-, Header 2 [Str "Unordered"]
-, Para [Str "Asterisks",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "asterisk",Space,Str "1"] ]
- , [ Plain [Str "asterisk",Space,Str "2"] ]
- , [ Plain [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Asterisks",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Plus",Space,Str "1"] ]
- , [ Plain [Str "Plus",Space,Str "2"] ]
- , [ Plain [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Minus",Space,Str "1"] ]
- , [ Plain [Str "Minus",Space,Str "2"] ]
- , [ Plain [Str "Minus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Header 2 [Str "Ordered"]
-, Para [Str "Tight:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second"] ]
- , [ Plain [Str "Third"] ] ]
-, Para [Str "and:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "One"] ]
- , [ Plain [Str "Two"] ]
- , [ Plain [Str "Three"] ] ]
-, Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and",Space,Str "using",Space,Str "spaces:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Multiple",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
- , Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."] ], [ Para [Str "Item",Space,Str "2",Str "."] ]
- , [ Para [Str "Item",Space,Str "3",Str "."] ] ]
-, Header 2 [Str "Nested"]
-, BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"] ]
- ] ] ] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Plain [Str "Third"] ] ]
-, Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
-, Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
-, BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
- , BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ] ] ] ]
-, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
-, OrderedList (2,Decimal,TwoParens)
- [ [ Plain [Str "begins",Space,Str "with",Space,Str "2"] ]
- , [ Para [Str "and",Space,Str "now",Space,Str "3"]
- , Para [Str "with",Space,Str "a",Space,Str "continuation"]
- , OrderedList (4,LowerRoman,Period)
- [ [ Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
- , [ Plain [Str "more",Space,Str "items"]
- , OrderedList (1,UpperAlpha,TwoParens)
- [ [ Plain [Str "a",Space,Str "subsublist"] ]
- , [ Plain [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
-, Para [Str "Nesting:"]
-, OrderedList (1,UpperAlpha,Period)
- [ [ Plain [Str "Upper",Space,Str "Alpha"]
- , OrderedList (1,UpperRoman,Period)
- [ [ Plain [Str "Upper",Space,Str "Roman",Str "."]
- , OrderedList (6,Decimal,TwoParens)
- [ [ Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
- , OrderedList (3,LowerAlpha,OneParen)
- [ [ Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
- ] ] ] ] ] ] ]
-, Para [Str "Autonumbering:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Autonumber",Str "."] ]
- , [ Plain [Str "More",Str "."]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Nested",Str "."] ]
- ] ] ]
-, Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
-, Para [Str "M.A.\160",Str "2007"]
-, Para [Str "B",Str ".",Space,Str "Williams"]
-, HorizontalRule
-, Header 1 [Str "Definition",Space,Str "Lists"]
-, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Plain [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Plain [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Loose:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Para [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
-, DefinitionList
- [ ([Emph [Str "apple"]],
- [ [ Para [Str "red",Space,Str "fruit"]
- , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
- , ([Emph [Str "orange"]],
- [ [ Para [Str "orange",Space,Str "fruit"]
- , CodeBlock ("",[],[]) "{ orange code block }"
- , BlockQuote
- [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
- ]]) ]
-, Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- , [ Plain [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- , [ Plain [Str "bank"] ]
- ]) ]
-, Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- , [ Para [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- , [ Para [Str "bank"] ]
- ]) ]
-, Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- , [ Para [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"]
- , OrderedList (1,Decimal,Period)
- [ [ Plain [Str "sublist"] ]
- , [ Plain [Str "sublist"] ] ] ]]) ]
-, Header 1 [Str "HTML",Space,Str "Blocks"]
-, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
-, RawHtml "<div>"
-, Plain [Str "foo"]
-, RawHtml "</div>\n"
-, Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
-, RawHtml "<div>\n<div>\n<div>"
-, Plain [Str "foo"]
-, RawHtml "</div>\n</div>\n<div>"
-, Plain [Str "bar"]
-, RawHtml "</div>\n</div>\n"
-, Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
-, RawHtml "<table>\n<tr>\n<td>"
-, Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
-, RawHtml "</td>\n<td>"
-, Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
-, RawHtml "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
-, RawHtml "<div>\n "
-, Plain [Str "foo"]
-, RawHtml "</div>\n"
-, Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
-, CodeBlock ("",[],[]) "<div>\n foo\n</div>"
-, Para [Str "As",Space,Str "should",Space,Str "this:"]
-, CodeBlock ("",[],[]) "<div>foo</div>"
-, Para [Str "Now,",Space,Str "nested:"]
-, RawHtml "<div>\n <div>\n <div>\n "
-, Plain [Str "foo"]
-, RawHtml "</div>\n </div>\n</div>\n"
-, Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
-, RawHtml "<!-- Comment -->\n"
-, Para [Str "Multiline:"]
-, RawHtml "<!--\nBlah\nBlah\n-->\n\n<!--\n This is another comment.\n-->\n"
-, Para [Str "Code",Space,Str "block:"]
-, CodeBlock ("",[],[]) "<!-- Comment -->"
-, Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
-, RawHtml "<!-- foo --> \n"
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "<hr />"
-, Para [Str "Hr",Apostrophe,Str "s:"]
-, RawHtml "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
-, HorizontalRule
-, Header 1 [Str "Inline",Space,Str "Markup"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
-, Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
-, Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
-, Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
-, Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
-, Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Str "\160",Str "there"],Str "."]
-, Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many",Str "\160",Str "of",Str "\160",Str "them"],Str "O",Str "."]
-, Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d,",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d",Str "."]
-, HorizontalRule
-, Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
-, Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
-, Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
-, Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
-, Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
-, Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
-, Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999",Str "."]
-, Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
-, HorizontalRule
-, Header 1 [Str "LaTeX"]
-, BulletList
- [ [ Plain [TeX "\\cite[22-23]{smith.1899}"] ]
- , [ Plain [Math InlineMath "2+2=4"] ]
- , [ Plain [Math InlineMath "x \\in y"] ]
- , [ Plain [Math InlineMath "\\alpha \\wedge \\omega"] ]
- , [ Plain [Math InlineMath "223"] ]
- , [ Plain [Math InlineMath "p",Str "-",Str "Tree"] ]
- , [ Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math:",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"] ]
- , [ Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."] ] ]
-, Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
-, BulletList
- [ [ Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code "$e = mc^2$",Str "."] ]
- , [ Plain [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000",Str ".",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"] ]
- , [ Plain [Str "Shoes",Space,Str "(",Str "$",Str "20)",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5)",Str "."] ]
- , [ Plain [Str "Escaped",Space,Code "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
-, Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"]
-, HorizontalRule
-, Header 1 [Str "Special",Space,Str "Characters"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
-, BulletList
- [ [ Plain [Str "I",Space,Str "hat:",Space,Str "\206"] ]
- , [ Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"] ]
- , [ Plain [Str "section:",Space,Str "\167"] ]
- , [ Plain [Str "set",Space,Str "membership:",Space,Str "\8712"] ]
- , [ Plain [Str "copyright:",Space,Str "\169"] ] ]
-, Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
-, Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
-, Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
-, Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
-, Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
-, Para [Str "Backslash:",Space,Str "\\"]
-, Para [Str "Backtick:",Space,Str "`"]
-, Para [Str "Asterisk:",Space,Str "*"]
-, Para [Str "Underscore:",Space,Str "_"]
-, Para [Str "Left",Space,Str "brace:",Space,Str "{"]
-, Para [Str "Right",Space,Str "brace:",Space,Str "}"]
-, Para [Str "Left",Space,Str "bracket:",Space,Str "["]
-, Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
-, Para [Str "Left",Space,Str "paren:",Space,Str "("]
-, Para [Str "Right",Space,Str "paren:",Space,Str ")"]
-, Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
-, Para [Str "Hash:",Space,Str "#"]
-, Para [Str "Period:",Space,Str "."]
-, Para [Str "Bang:",Space,Str "!"]
-, Para [Str "Plus:",Space,Str "+"]
-, Para [Str "Minus:",Space,Str "-"]
-, HorizontalRule
-, Header 1 [Str "Links"]
-, Header 2 [Str "Explicit"]
-, Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
-, Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
-, Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
-, Para [Link [Str "Empty"] ("",""),Str "."]
-, Header 2 [Str "Reference"]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
-, Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
-, Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
-, Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
-, CodeBlock ("",[],[]) "[not]: /url"
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
-, Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
-, Header 2 [Str "With",Space,Str "ampersands"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
-, Header 2 [Str "Autolinks"]
-, Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
-, BulletList
- [ [ Plain [Str "In",Space,Str "a",Space,Str "list?"] ]
- , [ Plain [Link [Code "http://example.com/"] ("http://example.com/","")] ]
- , [ Plain [Str "It",Space,Str "should",Str "."] ] ]
-, Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Link [Code "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
-, BlockQuote
- [ Para [Str "Blockquoted:",Space,Link [Code "http://example.com/"] ("http://example.com/","")] ]
-
-, Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code "<http://example.com/>"]
-, CodeBlock ("",[],[]) "or here: <http://example.com/>"
-, HorizontalRule
-, Header 1 [Str "Images"]
-, Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
-, Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
-, HorizontalRule
-, Header 1 [Str "Footnotes"]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
-, BlockQuote
- [ Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]] ]
-
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items",Str ".",Note [Para [Str "In",Space,Str "list",Str "."]]] ]
- ]
-, Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented",Str "."] ]
+Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
+,HorizontalRule
+,Header 1 [Str "Headers"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 4 [Str "Level",Space,Str "4"]
+,Header 5 [Str "Level",Space,Str "5"]
+,Header 1 [Str "Level",Space,Str "1"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 3 [Str "Level",Space,Str "3"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,Header 2 [Str "Level",Space,Str "2"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,HorizontalRule
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
+,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
+,HorizontalRule
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,Para [Str "E",Str "-",Str "mail",Space,Str "style",Str ":"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
+,BlockQuote
+ [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
+ ,Para [Str "A",Space,Str "list",Str ":"]
+ ,OrderedList (1,Decimal,Period)
+ [[Plain [Str "item",Space,Str "one"]]
+ ,[Plain [Str "item",Space,Str "two"]]]
+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes",Str ":"]
+ ,BlockQuote
+ [Para [Str "nested"]]
+ ,BlockQuote
+ [Para [Str "nested"]]]
+,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
+,HorizontalRule
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
+,Para [Str "And",Str ":"]
+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,HorizontalRule
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "asterisk",Space,Str "1"]]
+ ,[Plain [Str "asterisk",Space,Str "2"]]
+ ,[Plain [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Asterisks",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Plus",Space,Str "1"]]
+ ,[Plain [Str "Plus",Space,Str "2"]]
+ ,[Plain [Str "Plus",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Minus",Space,Str "1"]]
+ ,[Plain [Str "Minus",Space,Str "2"]]
+ ,[Plain [Str "Minus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second"]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "and",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "One"]]
+ ,[Plain [Str "Two"]]
+ ,[Plain [Str "Three"]]]
+,Para [Str "Loose",Space,Str "using",Space,Str "tabs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and",Space,Str "using",Space,Str "spaces",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
+ ,[Para [Str "Item",Space,Str "2",Str "."]]
+ ,[Para [Str "Item",Space,Str "3",Str "."]]]
+,Header 2 [Str "Nested"]
+,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]]]]]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second",Str ":"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second",Str ":"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Para [Str "Third"]]]
+,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
+,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
+ ,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]]
+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
+,OrderedList (2,Decimal,TwoParens)
+ [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
+ ,OrderedList (4,LowerRoman,Period)
+ [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals",Str ",",Space,Str "starting",Space,Str "with",Space,Str "4"]]
+ ,[Plain [Str "more",Space,Str "items"]
+ ,OrderedList (1,UpperAlpha,TwoParens)
+ [[Plain [Str "a",Space,Str "subsublist"]]
+ ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
+,Para [Str "Nesting",Str ":"]
+,OrderedList (1,UpperAlpha,Period)
+ [[Plain [Str "Upper",Space,Str "Alpha"]
+ ,OrderedList (1,UpperRoman,Period)
+ [[Plain [Str "Upper",Space,Str "Roman",Str "."]
+ ,OrderedList (6,Decimal,TwoParens)
+ [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
+ ,OrderedList (3,LowerAlpha,OneParen)
+ [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
+,Para [Str "Autonumbering",Str ":"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Autonumber",Str "."]]
+ ,[Plain [Str "More",Str "."]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Nested",Str "."]]]]]
+,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item",Str ":"]
+,Para [Str "M.A.\160",Str "2007"]
+,Para [Str "B",Str ".",Space,Str "Williams"]
+,HorizontalRule
+,Header 1 [Str "Definition",Space,Str "Lists"]
+,Para [Str "Tight",Space,Str "using",Space,Str "spaces",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Tight",Space,Str "using",Space,Str "tabs",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Loose",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Para [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics",Str ":"]
+,DefinitionList
+ [([Emph [Str "apple"]],
+ [[Para [Str "red",Space,Str "fruit"]
+ ,Para [Str "contains",Space,Str "seeds",Str ",",Space,Str "crisp",Str ",",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]])
+ ,([Emph [Str "orange"]],
+ [[Para [Str "orange",Space,Str "fruit"]
+ ,CodeBlock ("",[],[]) "{ orange code block }"
+ ,BlockQuote
+ [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
+,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "tight",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]
+ ,[Plain [Str "computer"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]
+ ,[Plain [Str "bank"]]])]
+,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "loose",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]
+ ,[Para [Str "computer"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]
+ ,[Para [Str "bank"]]])]
+,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term",Str ",",Space,Str "indented",Space,Str "marker",Str ",",Space,Str "alternate",Space,Str "markers",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]
+ ,[Para [Str "computer"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]
+ ,OrderedList (1,Decimal,Period)
+ [[Plain [Str "sublist"]]
+ ,[Plain [Str "sublist"]]]]])]
+,Header 1 [Str "HTML",Space,Str "Blocks"]
+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
+,RawBlock "html" "<div>"
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n"
+,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation",Str ":"]
+,RawBlock "html" "<div>\n<div>\n<div>"
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n</div>\n<div>"
+,Plain [Str "bar"]
+,RawBlock "html" "</div>\n</div>\n"
+,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table",Str ":"]
+,RawBlock "html" "<table>\n<tr>\n<td>"
+,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
+,RawBlock "html" "</td>\n<td>"
+,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
+,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
+,RawBlock "html" "<div>\n "
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n"
+,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block",Str ",",Space,Str "though",Str ":"]
+,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
+,Para [Str "As",Space,Str "should",Space,Str "this",Str ":"]
+,CodeBlock ("",[],[]) "<div>foo</div>"
+,Para [Str "Now",Str ",",Space,Str "nested",Str ":"]
+,RawBlock "html" "<div>\n <div>\n <div>\n "
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n </div>\n</div>\n"
+,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment",Str ":"]
+,RawBlock "html" "<!-- Comment -->\n"
+,Para [Str "Multiline",Str ":"]
+,RawBlock "html" "<!--\nBlah\nBlah\n-->\n\n<!--\n This is another comment.\n-->\n"
+,Para [Str "Code",Space,Str "block",Str ":"]
+,CodeBlock ("",[],[]) "<!-- Comment -->"
+,Para [Str "Just",Space,Str "plain",Space,Str "comment",Str ",",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line",Str ":"]
+,RawBlock "html" "<!-- foo --> \n"
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) "<hr />"
+,Para [Str "Hr",Apostrophe,Str "s",Str ":"]
+,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
+,HorizontalRule
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
+,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
+,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Str "This",Space,Str "is",Space,Str "code",Str ":",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
+,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
+,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Str "\160",Str "there"],Str "."]
+,Para [Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Str "\160",Str "of",Str "\160",Str "them"],Str "O",Str "."]
+,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts",Str ",",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces",Str ":",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d",Str ",",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d",Str "."]
+,HorizontalRule
+,Header 1 [Str "Smart",Space,Str "quotes",Str ",",Space,Str "ellipses",Str ",",Space,Str "dashes"]
+,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
+,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
+,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
+,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s",Str "?"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
+,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",EnDash,Str "7",Str ",",Space,Str "255",EnDash,Str "66",Str ",",Space,Str "1987",EnDash,Str "1999",Str "."]
+,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
+,HorizontalRule
+,Header 1 [Str "LaTeX"]
+,BulletList
+ [[Plain [RawInline "tex" "\\cite[22-23]{smith.1899}"]]
+ ,[Plain [Math InlineMath "2+2=4"]]
+ ,[Plain [Math InlineMath "x \\in y"]]
+ ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
+ ,[Plain [Math InlineMath "223"]]
+ ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
+ ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
+ ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
+,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math",Str ":"]
+,BulletList
+ [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
+ ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
+ ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
+ ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
+,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
+,HorizontalRule
+,Header 1 [Str "Special",Space,Str "Characters"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode",Str ":"]
+,BulletList
+ [[Plain [Str "I",Space,Str "hat",Str ":",Space,Str "\206"]]
+ ,[Plain [Str "o",Space,Str "umlaut",Str ":",Space,Str "\246"]]
+ ,[Plain [Str "section",Str ":",Space,Str "\167"]]
+ ,[Plain [Str "set",Space,Str "membership",Str ":",Space,Str "\8712"]]
+ ,[Plain [Str "copyright",Str ":",Space,Str "\169"]]]
+,Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
+,Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
+,Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
+,Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
+,Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
+,Para [Str "Backslash",Str ":",Space,Str "\\"]
+,Para [Str "Backtick",Str ":",Space,Str "`"]
+,Para [Str "Asterisk",Str ":",Space,Str "*"]
+,Para [Str "Underscore",Str ":",Space,Str "_"]
+,Para [Str "Left",Space,Str "brace",Str ":",Space,Str "{"]
+,Para [Str "Right",Space,Str "brace",Str ":",Space,Str "}"]
+,Para [Str "Left",Space,Str "bracket",Str ":",Space,Str "["]
+,Para [Str "Right",Space,Str "bracket",Str ":",Space,Str "]"]
+,Para [Str "Left",Space,Str "paren",Str ":",Space,Str "("]
+,Para [Str "Right",Space,Str "paren",Str ":",Space,Str ")"]
+,Para [Str "Greater",Str "-",Str "than",Str ":",Space,Str ">"]
+,Para [Str "Hash",Str ":",Space,Str "#"]
+,Para [Str "Period",Str ":",Space,Str "."]
+,Para [Str "Bang",Str ":",Space,Str "!"]
+,Para [Str "Plus",Str ":",Space,Str "+"]
+,Para [Str "Minus",Str ":",Space,Str "-"]
+,HorizontalRule
+,Header 1 [Str "Links"]
+,Header 2 [Str "Explicit"]
+,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
+,Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
+,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
+,Para [Link [Str "Empty"] ("",""),Str "."]
+,Header 2 [Str "Reference"]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
+,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
+,Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,CodeBlock ("",[],[]) "[not]: /url"
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
+,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
+,Header 2 [Str "With",Space,Str "ampersands"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
+,Header 2 [Str "Autolinks"]
+,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
+,BulletList
+ [[Plain [Str "In",Space,Str "a",Space,Str "list",Str "?"]]
+ ,[Plain [Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+ ,[Plain [Str "It",Space,Str "should",Str "."]]]
+,Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address",Str ":",Space,Link [Code ("",["url"],[]) "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
+,BlockQuote
+ [Para [Str "Blockquoted",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here",Str ":",Space,Code ("",[],[]) "<http://example.com/>"]
+,CodeBlock ("",[],[]) "or here: <http://example.com/>"
+,HorizontalRule
+,Header 1 [Str "Images"]
+,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(",Str "1902",Str ")",Str ":"]
+,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
+,HorizontalRule
+,Header 1 [Str "Footnotes"]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
+,BlockQuote
+ [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items",Str ".",Note [Para [Str "In",Space,Str "list",Str "."]]]]]
+,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note",Str ",",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented",Str "."]]
diff --git a/tests/testsuite.txt b/tests/testsuite.txt
index 7f6e89449..ccee0764a 100644
--- a/tests/testsuite.txt
+++ b/tests/testsuite.txt
@@ -431,21 +431,21 @@ Hr's:
<hr>
-<hr/>
+<hr />
<hr />
<hr>
-<hr/>
+<hr />
<hr />
<hr class="foo" id="bar" />
-<hr class="foo" id="bar"/>
+<hr class="foo" id="bar" />
-<hr class="foo" id="bar" >
+<hr class="foo" id="bar">
-----
@@ -496,7 +496,7 @@ Some dashes: one---two --- three--four -- five.
Dashes between numbers: 5-7, 255-66, 1987-1999.
-Ellipses...and. . .and . . . .
+Ellipses...and...and....
-----
@@ -631,7 +631,6 @@ Indented [thrice][].
This should [not][] be a link.
[once]: /url
-
[twice]: /url
[thrice]: /url
diff --git a/tests/textile-reader.native b/tests/textile-reader.native
new file mode 100644
index 000000000..8c276d194
--- /dev/null
+++ b/tests/textile-reader.native
@@ -0,0 +1,148 @@
+Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader",Str ".",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
+,HorizontalRule
+,Header 1 [Str "Headers"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]]
+,Header 4 [Str "Level",Space,Str "4"]
+,Header 5 [Str "Level",Space,Str "5"]
+,Header 6 [Str "Level",Space,Str "6"]
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
+,Para [Str "Line",Space,Str "breaks",Space,Str "are",Space,Str "preserved",Space,Str "in",Space,Str "textile",Str ",",Space,Str "so",Space,Str "you",Space,Str "can",Space,Str "not",Space,Str "wrap",Space,Str "your",Space,Str "very",LineBreak,Str "long",Space,Str "paragraph",Space,Str "with",Space,Str "your",Space,Str "favourite",Space,Str "text",Space,Str "editor",Space,Str "and",Space,Str "have",Space,Str "it",Space,Str "rendered",LineBreak,Str "with",Space,Str "no",Space,Str "break",Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str "."]
+,BulletList
+ [[Plain [Str "criminey",Str "."]]]
+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "paragraph",Space,Str "break",Space,Str "between",Space,Str "here"]
+,Para [Str "and",Space,Str "here",Str "."]
+,Para [Str "pandoc",Space,Str "converts",Space,Str "textile",Str "."]
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "famous",Space,Str "quote",Space,Str "from",Space,Str "somebody",Str ".",Space,Str "He",Space,Str "had",Space,Str "a",Space,Str "lot",Space,Str "of",Space,Str "things",Space,Str "to",LineBreak,Str "say",Str ",",Space,Str "so",Space,Str "the",Space,Str "text",Space,Str "is",Space,Str "really",Space,Str "really",Space,Str "long",Space,Str "and",Space,Str "spans",Space,Str "on",Space,Str "multiple",Space,Str "lines",Str "."]]
+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) " ---- (should be four hyphens)\n\n sub status {\n print \"working\";\n }\n\n this code block is indented by one tab"
+,Para [Str "And",Str ":"]
+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\n These should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,CodeBlock ("",[],[]) "Code block with .bc\n continued\n @</\\\n"
+,Para [Str "Inline",Space,Str "code",Str ":",Space,Code ("",[],[]) "<tt>",Str ",",Space,Code ("",[],[]) "@",Str "."]
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "asterisk",Space,Str "1"]]
+ ,[Plain [Str "asterisk",Space,Str "2"]]
+ ,[Plain [Str "asterisk",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight",Str ":"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second"]]
+ ,[Plain [Str "Third"]]]
+,Header 2 [Str "Nested"]
+,BulletList
+ [[Plain [Str "ui",Space,Str "1"]
+ ,BulletList
+ [[Plain [Str "ui",Space,Str "1",Str ".",Str "1"]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "oi",Space,Str "1",Str ".",Str "1",Str ".",Str "1"]]
+ ,[Plain [Str "oi",Space,Str "1",Str ".",Str "1",Str ".",Str "2"]]]]
+ ,[Plain [Str "ui",Space,Str "1",Str ".",Str "2"]]]]
+ ,[Plain [Str "ui",Space,Str "2"]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "oi",Space,Str "2",Str ".",Str "1"]
+ ,BulletList
+ [[Plain [Str "ui",Space,Str "2",Str ".",Str "1",Str ".",Str "1"]]
+ ,[Plain [Str "ui",Space,Str "2",Str ".",Str "1",Str ".",Str "2"]]]]]]]
+,Header 2 [Str "Definition",Space,Str "List"]
+,DefinitionList
+ [([Str "coffee"],
+ [[Plain [Str "Hot",Space,Str "and",Space,Str "black"]]])
+ ,([Str "tea"],
+ [[Plain [Str "Also",Space,Str "hot",Str ",",Space,Str "but",Space,Str "a",Space,Str "little",Space,Str "less",Space,Str "black"]]])
+ ,([Str "milk"],
+ [[Para [Str "Nourishing",Space,Str "beverage",Space,Str "for",Space,Str "baby",Space,Str "cows",Str "."]
+ ,Para [Str "Cold",Space,Str "drink",Space,Str "that",Space,Str "goes",Space,Str "great",Space,Str "with",Space,Str "cookies",Str "."]]])
+ ,([Str "beer"],
+ [[Plain [Str "fresh",Space,Str "and",Space,Str "bitter"]]])]
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str ".",LineBreak,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str ".",LineBreak,Str "A",Space,Link [Strong [Str "strong",Space,Str "link"]] ("http://www.foobar.com",""),Str "."]
+,Para [Emph [Strong [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]],LineBreak,Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Space,Str "and",Space,Emph [Strong [Str "that",Space,Str "one"]],Str ".",LineBreak,Strikeout [Str "This",Space,Str "is",Space,Str "strikeout",Space,Str "and",Space,Strong [Str "strong"]]]
+,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Strong [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str ".",LineBreak,Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O",Str "."]
+,Para [Str "Dashes",Space,Str ":",Space,Str "How",Space,Str "cool",Space,EmDash,Space,Str "automatic",Space,Str "dashes",Str "."]
+,Para [Str "Elipses",Space,Str ":",Space,Str "He",Space,Str "thought",Space,Str "and",Space,Str "thought",Space,Ellipses,Space,Str "and",Space,Str "then",Space,Str "thought",Space,Str "some",Space,Str "more",Str "."]
+,Para [Str "Quotes",Space,Str "and",Space,Str "apostrophes",Space,Str ":",Space,Quoted DoubleQuote [Str "I",Apostrophe,Str "d",Space,Str "like",Space,Str "to",Space,Str "thank",Space,Str "you"],Space,Str "for",Space,Str "example",Str "."]
+,Header 1 [Str "Links"]
+,Header 2 [Str "Explicit"]
+,Para [Str "Just",Space,Str "a",Space,Link [Str "url"] ("http://www.url.com","")]
+,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
+,Para [Str "Automatic",Space,Str "linking",Space,Str "to",Space,Link [Str "http://www.example.com"] ("http://www.example.com",""),Space,Str "and",Space,Link [Str "foobar@example.com"] ("mailto:foobar@example.com",""),Str "."]
+,Header 1 [Str "Tables"]
+,Para [Str "Textile",Space,Str "allows",Space,Str "tables",Space,Str "with",Space,Str "and",Space,Str "without",Space,Str "headers",Space,Str ":"]
+,Header 2 [Str "Without",Space,Str "headers"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
+ []
+ [[[Plain [Str "name"]]
+ ,[Plain [Str "age"]]
+ ,[Plain [Str "sex"]]]
+ ,[[Plain [Str "joan"]]
+ ,[Plain [Str "24"]]
+ ,[Plain [Str "f"]]]
+ ,[[Plain [Str "archie"]]
+ ,[Plain [Str "29"]]
+ ,[Plain [Str "m"]]]
+ ,[[Plain [Str "bella"]]
+ ,[Plain [Str "45"]]
+ ,[Plain [Str "f"]]]]
+,Para [Str "and",Space,Str "some",Space,Str "text",Space,Str "following",Space,Ellipses]
+,Header 2 [Str "With",Space,Str "headers"]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
+ [[Plain [Str "name"]]
+ ,[Plain [Str "age"]]
+ ,[Plain [Str "sex"]]]
+ [[[Plain [Str "joan"]]
+ ,[Plain [Str "24"]]
+ ,[Plain [Str "f"]]]
+ ,[[Plain [Str "archie"]]
+ ,[Plain [Str "29"]]
+ ,[Plain [Str "m"]]]
+ ,[[Plain [Str "bella"]]
+ ,[Plain [Str "45"]]
+ ,[Plain [Str "f"]]]]
+,Header 1 [Str "Images"]
+,Para [Str "Textile",Space,Str "inline",Space,Str "image",Space,Str "syntax",Str ",",Space,Str "like",Space,LineBreak,Str "here",Space,Image [Str "this is the alt text"] ("this_is_an_image.png","this is the alt text"),LineBreak,Str "and",Space,Str "here",Space,Image [Str ""] ("this_is_an_image.png",""),Str "."]
+,Header 1 [Str "Attributes"]
+,Header 2 [Str "HTML",Space,Str "and",Space,Str "CSS",Space,Str "attributes",Space,Str "are",Space,Str "ignored"]
+,Para [Str "as",Space,Str "well",Space,Str "as",Space,Strong [Str "inline",Space,Str "attributes"],Space,Str "of",Space,Str " all kind"]
+,Para [Str "and",Space,Str "paragraph",Space,Str "attributes",Str ",",Space,Str "and",Space,Str "table",Space,Str "attributes",Str "."]
+,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
+ []
+ [[[Plain [Str "name"]]
+ ,[Plain [Str "age"]]
+ ,[Plain [Str "sex"]]]
+ ,[[Plain [Str "joan"]]
+ ,[Plain [Str "24"]]
+ ,[Plain [Str "f"]]]]
+,Header 1 [Str "Raw",Space,Str "HTML"]
+,Para [Str "However",Str ",",Space,RawInline "html" "<strong>",Space,Str "raw",Space,Str "HTML",Space,Str "inlines",Space,RawInline "html" "</strong>",Space,Str "are",Space,Str "accepted",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str ":"]
+,RawBlock "html" "<div class=\"foobar\">"
+,Para [Str "any",Space,Strong [Str "Raw",Space,Str "HTML",Space,Str "Block"],Space,Str "with",Space,Str "bold",LineBreak]
+,RawBlock "html" "</div>"
+,Para [Str "Html",Space,Str "blocks",Space,Str "can",Space,Str "be"]
+,RawBlock "html" "<div>"
+,Para [Str "inlined"]
+,RawBlock "html" "</div>"
+,Para [Str "as",Space,Str "well",Str "."]
+,BulletList
+ [[Plain [Str "this",Space,Str "<",Str "div",Str ">",Space,Str "won",Apostrophe,Str "t",Space,Str "produce",Space,Str "raw",Space,Str "html",Space,Str "blocks",Space,Str "<",Str "/div",Str ">"]]
+ ,[Plain [Str "but",Space,Str "this",Space,RawInline "html" "<strong>",Space,Str "will",Space,Str "produce",Space,Str "inline",Space,Str "html",Space,RawInline "html" "</strong>"]]]
+,Para [Str "Can",Space,Str "you",Space,Str "prove",Space,Str "that",Space,Str "2",Space,Str "<",Space,Str "3",Space,Str "?"]
+,Header 1 [Str "Acronyms",Space,Str "and",Space,Str "marks"]
+,Para [Str "PBS",Space,Str "(",Str "Public",Space,Str "Broadcasting",Space,Str "System",Str ")"]
+,Para [Str "Hi",Str "\8482"]
+,Para [Str "Hi",Space,Str "\8482"]
+,Para [Str "\174",Space,Str "Hi",Str "\174"]
+,Para [Str "Hi",Str "\169",Str "2008",Space,Str "\169",Space,Str "2008"]
+,Header 1 [Str "Footnotes"]
+,Para [Str "A",Space,Str "note",Str ".",Note [Para [Str "The",Space,Str "note",LineBreak,Str "is",Space,Str "here",Str "!"]]]]
diff --git a/tests/textile-reader.textile b/tests/textile-reader.textile
new file mode 100644
index 000000000..9c9980307
--- /dev/null
+++ b/tests/textile-reader.textile
@@ -0,0 +1,216 @@
+This is a set of tests for pandoc Textile Reader. Part of it comes
+from John Gruber's markdown test suite.
+
+-----
+
+h1. Headers
+
+h2. Level 2 with an "embeded link":http://www.example.com
+
+h3. Level 3 with *emphasis*
+
+h4. Level 4
+
+h5. Level 5
+
+h6. Level 6
+
+
+h1. Paragraphs
+
+Here's a regular paragraph.
+
+Line breaks are preserved in textile, so you can not wrap your very
+long paragraph with your favourite text editor and have it rendered
+with no break.
+
+
+Here's one with a bullet.
+
+* criminey.
+
+There should be a paragraph break between here
+
+and here.
+
+pandoc converts textile.
+
+h1. Block Quotes
+
+bq. This is a famous quote from somebody. He had a lot of things to
+say, so the text is really really long and spans on multiple lines.
+
+And a following paragraph.
+
+h1. Code Blocks
+
+Code:
+
+<pre>
+ ---- (should be four hyphens)
+
+ sub status {
+ print "working";
+ }
+
+ this code block is indented by one tab
+</pre>
+
+And:
+
+<pre>
+ this code block is indented by two tabs
+
+ These should not be escaped: \$ \\ \> \[ \{
+</pre>
+
+bc. Code block with .bc
+ continued
+ @</\
+
+Inline code: @<tt>@, <tt>@</tt>.
+
+h1. Lists
+
+h2. Unordered
+
+Asterisks tight:
+
+* asterisk 1
+* asterisk 2
+* asterisk 3
+
+h2. Ordered
+
+Tight:
+
+# First
+# Second
+# Third
+
+h2. Nested
+
+* ui 1
+** ui 1.1
+### oi 1.1.1
+### oi 1.1.2
+** ui 1.2
+* ui 2
+## oi 2.1
+*** ui 2.1.1
+*** ui 2.1.2
+
+h2. Definition List
+
+- coffee := Hot and black
+- tea := Also hot, but a little less black
+- milk :=
+Nourishing beverage for baby cows.
+
+Cold drink that goes great with cookies.=:
+- beer := fresh and bitter
+
+
+h1. Inline Markup
+
+This is _emphasized_, and so __is this__.
+This is *strong*, and so **is this**.
+A "*strong link*":http://www.foobar.com.
+
+_*This is strong and em.*_
+So is *_this_* word and __**that one**__.
+-This is strikeout and *strong*-
+
+Superscripts: a^bc^d a^*hello*^ a^hello there^.
+Subscripts: H~2~O, H~23~O, H~many of them~O.
+
+Dashes : How cool -- automatic dashes.
+
+Elipses : He thought and thought ... and then thought some more.
+
+Quotes and apostrophes : "I'd like to thank you" for example.
+
+
+h1. Links
+
+h2. Explicit
+
+Just a "url":http://www.url.com
+
+"Email link":mailto:nobody@nowhere.net
+
+Automatic linking to http://www.example.com and foobar@example.com.
+
+h1. Tables
+
+Textile allows tables with and without headers :
+
+h2. Without headers
+
+| name | age | sex |
+| joan | 24 | f |
+| archie | 29 | m |
+| bella | 45 | f |
+
+and some text following ...
+
+h2. With headers
+
+|_. name |_. age |_. sex |
+| joan | 24 | f |
+| archie | 29 | m |
+| bella | 45 | f |
+
+
+
+h1. Images
+
+Textile inline image syntax, like
+here !this_is_an_image.png(this is the alt text)!
+and here !this_is_an_image.png!.
+
+h1. Attributes
+
+h2{color:red}. HTML and CSS attributes are ignored
+
+as well as *(foo)inline attributes* of %{color:red} all kind%
+
+p{color:green}. and paragraph attributes, and table attributes.
+
+table{foo:bar}.
+| name | age | sex |
+| joan | 24 | f |
+
+h1. Raw HTML
+
+However, <strong> raw HTML inlines </strong> are accepted, as well as :
+
+<div class="foobar">
+ any *Raw HTML Block* with bold
+</div>
+
+Html blocks can be <div>inlined</div> as well.
+
+* this <div> won't produce raw html blocks </div>
+* but this <strong> will produce inline html </strong>
+
+Can you prove that 2 < 3 ?
+
+h1. Acronyms and marks
+
+PBS(Public Broadcasting System)
+
+Hi(tm)
+
+Hi (TM)
+
+(r) Hi(r)
+
+Hi(c)2008 (C) 2008
+
+h1. Footnotes
+
+A note.[1]
+
+fn1. The note
+is here!
diff --git a/tests/writer.context b/tests/writer.context
index 2c53fde5c..f9fb03cef 100644
--- a/tests/writer.context
+++ b/tests/writer.context
@@ -61,8 +61,8 @@ after={\blank[medium]},
\blank[3*medium]
\stopalignment
-This is a set of tests for pandoc. Most of them are adapted from
-John Gruber's markdown test suite.
+This is a set of tests for pandoc. Most of them are adapted from John Gruber's
+markdown test suite.
\thinrule
@@ -94,9 +94,9 @@ with no blank line
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.
+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.
@@ -293,9 +293,8 @@ Multiple paragraphs:
\startitemize[n][stopper=.]
\item
Item 1, graf one.
-
- Item 1. graf two. The quick brown fox jumped over the lazy dog's
- back.
+
+ Item 1. graf two. The quick brown fox jumped over the lazy dog's back.
\item
Item 2.
\item
@@ -343,7 +342,7 @@ Same thing but with paragraphs:
First
\item
Second:
-
+
\startitemize
\item
Fee
@@ -363,7 +362,7 @@ Same thing but with paragraphs:
this is a list item indented with tabs
\item
this is a list item indented with spaces
-
+
\startitemize
\item
this is an example list item indented with tabs
@@ -379,9 +378,9 @@ Same thing but with paragraphs:
begins with 2
\item
and now 3
-
+
with a continuation
-
+
\startitemize[r][start=4,stopper=.,width=2.0em]
\item
sublist with roman numerals, starting with 4
@@ -441,110 +440,110 @@ B. Williams
Tight using spaces:
\startdescr{apple}
-red fruit
+ red fruit
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
\stopdescr
\startdescr{banana}
-yellow fruit
+ yellow fruit
\stopdescr
Tight using tabs:
\startdescr{apple}
-red fruit
+ red fruit
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
\stopdescr
\startdescr{banana}
-yellow fruit
+ yellow fruit
\stopdescr
Loose:
\startdescr{apple}
-red fruit
+ red fruit
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
\stopdescr
\startdescr{banana}
-yellow fruit
+ yellow fruit
\stopdescr
Multiple blocks with italics:
\startdescr{{\em apple}}
-red fruit
+ red fruit
-contains seeds, crisp, pleasant to taste
+ contains seeds, crisp, pleasant to taste
\stopdescr
\startdescr{{\em orange}}
-orange fruit
+ orange fruit
-\starttyping
+ \starttyping
{ orange code block }
-\stoptyping
+ \stoptyping
-\startblockquote
-orange block quote
-\stopblockquote
+ \startblockquote
+ orange block quote
+ \stopblockquote
\stopdescr
Multiple definitions, tight:
\startdescr{apple}
-red fruit
+ red fruit
-computer
+ computer
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
-bank
+ bank
\stopdescr
Multiple definitions, loose:
\startdescr{apple}
-red fruit
+ red fruit
-computer
+ computer
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
-bank
+ bank
\stopdescr
Blank line after term, indented marker, alternate markers:
\startdescr{apple}
-red fruit
+ red fruit
-computer
+ computer
\stopdescr
\startdescr{orange}
-orange fruit
+ orange fruit
-\startitemize[n][stopper=.]
-\item
- sublist
-\item
- sublist
-\stopitemize
+ \startitemize[n][stopper=.]
+ \item
+ sublist
+ \item
+ sublist
+ \stopitemize
\stopdescr
\subject{HTML Blocks}
@@ -618,8 +617,7 @@ So is {\bf {\em this}} word.
So is {\bf {\em this}} word.
-This is code: \type{>}, \type{$}, \type{\}, \type{\$},
-\type{<html>}.
+This is code: \type{>}, \type{$}, \type{\}, \type{\$}, \type{<html>}.
\overstrikes{This is {\em strikeout}.}
@@ -627,27 +625,25 @@ 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.
+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
\subject{Smart quotes, ellipses, dashes}
-\quotation{Hello,} said the spider.
-\quotation{\quote{Shelob} is my name.}
+\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{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?
+\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]}.
+\quotation{\useURL[3][http://example.com/?foo=1&bar=2][][quoted
+link]\from[3]}.
Some dashes: one---two --- three---four --- five.
@@ -676,8 +672,7 @@ Ellipses\ldots{}and\ldots{}and\ldots{}.
Here's some display math:
\startformula \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} \stopformula
\item
- Here's one that has a line break in it:
- $\alpha + \omega \times x^2$.
+ Here's one that has a line break in it: $\alpha + \omega \times x^2$.
\stopitemize
These shouldn't be math:
@@ -696,12 +691,6 @@ These shouldn't be math:
Here's a LaTeX table:
-\begin{tabular}{|l|l|}\hline
-Animal & Number \\ \hline
-Dog & 2 \\
-Cat & 1 \\ \hline
-\end{tabular}
-
\thinrule
\subject{Special Characters}
@@ -743,9 +732,9 @@ Left brace: \letteropenbrace{}
Right brace: \letterclosebrace{}
-Left bracket: [
+Left bracket: {[}
-Right bracket: ]
+Right bracket: {]}
Left paren: (
@@ -795,7 +784,7 @@ Foo \useURL[14][/url/][][bar]\from[14].
Foo \useURL[15][/url/][][bar]\from[15].
-With \useURL[16][/url/][][embedded [brackets]]\from[16].
+With \useURL[16][/url/][][embedded {[}brackets{]}]\from[16].
\useURL[17][/url/][][b]\from[17] by itself should be a link.
@@ -805,7 +794,7 @@ Indented \useURL[19][/url][][twice]\from[19].
Indented \useURL[20][/url][][thrice]\from[20].
-This should [not][] be a link.
+This should {[}not{]}{[}{]} be a link.
\starttyping
[not]: /url
@@ -817,16 +806,16 @@ Foo \useURL[22][/url/][][biz]\from[22].
\subsubject{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 \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].
+Here's an \useURL[26][/script?foo=1&bar=2][][inline link in pointy
+braces]\from[26].
\subsubject{Autolinks}
@@ -846,8 +835,7 @@ 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]
+Blockquoted: \useURL[30][http://example.com/][][http://example.com/]\from[30]
\stopblockquote
Auto-links should not occur here: \type{<http://example.com/>}
@@ -870,39 +858,34 @@ Here is a movie {\externalfigure[movie.jpg]} icon.
\subject{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.
+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).
+ Subsequent blocks are indented to show that they belong to the footnote (as
+ with list items).
-\starttyping
+ \starttyping
{ <code> }
-\stoptyping
+ \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].}
+ 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.}
+Notes can go in quotes.\footnote{In quote.}
\stopblockquote
\startitemize[n][stopper=.]
\item
- And in list items.
- \footnote{In list.}
+ And in list items.\footnote{In list.}
\stopitemize
-This paragraph should not be part of the note, as it is not
-indented.
+This paragraph should not be part of the note, as it is not indented.
\stoptext
diff --git a/tests/writer.docbook b/tests/writer.docbook
index c17513cf9..e7e948288 100644
--- a/tests/writer.docbook
+++ b/tests/writer.docbook
@@ -15,14 +15,13 @@
<date>July 17, 2006</date>
</articleinfo>
<para>
- This is a set of tests for pandoc. Most of them are adapted from
- John Gruber's markdown test suite.
+ This is a set of tests for pandoc. Most of them are adapted from John
+ Gruber's markdown test suite.
</para>
<section id="headers">
<title>Headers</title>
<section id="level-2-with-an-embedded-link">
- <title>Level 2 with an
- <ulink url="/url">embedded link</ulink></title>
+ <title>Level 2 with an <ulink url="/url">embedded link</ulink></title>
<section id="level-3-with-emphasis">
<title>Level 3 with <emphasis>emphasis</emphasis></title>
<section id="level-4">
@@ -60,16 +59,15 @@
Here's a regular paragraph.
</para>
<para>
- 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.
+ 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.
</para>
<para>
Here's one with a bullet. * criminey.
</para>
<para>
- There should be a hard line
- break<literallayout></literallayout>here.
+ There should be a hard line break<literallayout></literallayout>here.
</para>
</section>
<section id="block-quotes">
@@ -866,45 +864,41 @@ These should not be escaped: \$ \\ \&gt; \[ \{
<div>
foo
</div>
-
<para>
And nested without indentation:
</para>
<div>
-<div>
-<div>
+ <div>
+ <div>
foo
</div>
-</div>
-<div>
+ </div>
+ <div>
bar
</div>
-</div>
-
+ </div>
<para>
Interpreted markdown in a table:
</para>
<table>
-<tr>
-<td>
+ <tr>
+ <td>
This is <emphasis>emphasized</emphasis>
</td>
-<td>
+ <td>
And this is <emphasis role="strong">strong</emphasis>
</td>
-</tr>
-</table>
-
-<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
+ </tr>
+ </table>
+ <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
<para>
Here's a simple block:
</para>
<div>
-
+
foo
</div>
-
<para>
This should be a code block, though:
</para>
@@ -923,31 +917,28 @@ These should not be escaped: \$ \\ \&gt; \[ \{
Now, nested:
</para>
<div>
- <div>
- <div>
-
+ <div>
+ <div>
+
foo
</div>
- </div>
-</div>
-
+ </div>
+ </div>
<para>
This should just be an HTML comment:
</para>
<!-- Comment -->
-
<para>
Multiline:
</para>
<!--
-Blah
-Blah
--->
-
-<!--
- This is another comment.
--->
+ Blah
+ Blah
+ -->
+ <!--
+ This is another comment.
+ -->
<para>
Code block:
</para>
@@ -958,7 +949,6 @@ Blah
Just plain comment, with trailing spaces on the line:
</para>
<!-- foo -->
-
<para>
Code:
</para>
@@ -970,28 +960,27 @@ Blah
</para>
<hr>
-<hr />
-
-<hr />
+ <hr />
-<hr>
+ <hr />
-<hr />
+ <hr>
-<hr />
+ <hr />
-<hr class="foo" id="bar" />
+ <hr />
-<hr class="foo" id="bar" />
+ <hr class="foo" id="bar" />
-<hr class="foo" id="bar">
+ <hr class="foo" id="bar" />
+ <hr class="foo" id="bar">
</section>
<section id="inline-markup">
<title>Inline Markup</title>
<para>
- This is <emphasis>emphasized</emphasis>, and so
- <emphasis>is this</emphasis>.
+ This is <emphasis>emphasized</emphasis>, and so <emphasis>is
+ this</emphasis>.
</para>
<para>
This is <emphasis role="strong">strong</emphasis>, and so
@@ -1001,18 +990,18 @@ Blah
An <emphasis><ulink url="/url">emphasized link</ulink></emphasis>.
</para>
<para>
- <emphasis role="strong"><emphasis>This is strong and em.</emphasis></emphasis>
+ <emphasis role="strong"><emphasis>This is strong and
+ em.</emphasis></emphasis>
</para>
<para>
- So is <emphasis role="strong"><emphasis>this</emphasis></emphasis>
- word.
+ So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word.
</para>
<para>
- <emphasis role="strong"><emphasis>This is strong and em.</emphasis></emphasis>
+ <emphasis role="strong"><emphasis>This is strong and
+ em.</emphasis></emphasis>
</para>
<para>
- So is <emphasis role="strong"><emphasis>this</emphasis></emphasis>
- word.
+ So is <emphasis role="strong"><emphasis>this</emphasis></emphasis> word.
</para>
<para>
This is code: <literal>&gt;</literal>, <literal>$</literal>,
@@ -1020,7 +1009,8 @@ Blah
<literal>&lt;html&gt;</literal>.
</para>
<para>
- <emphasis role="strikethrough">This is <emphasis>strikeout</emphasis>.</emphasis>
+ <emphasis role="strikethrough">This is
+ <emphasis>strikeout</emphasis>.</emphasis>
</para>
<para>
Superscripts: a<superscript>bc</superscript>d
@@ -1028,35 +1018,35 @@ Blah
a<superscript>hello there</superscript>.
</para>
<para>
- Subscripts: H<subscript>2</subscript>O,
- H<subscript>23</subscript>O, H<subscript>many of them</subscript>O.
+ Subscripts: H<subscript>2</subscript>O, H<subscript>23</subscript>O,
+ H<subscript>many of them</subscript>O.
</para>
<para>
- These should not be superscripts or subscripts, because of the
- unescaped spaces: a^b c^d, a~b c~d.
+ These should not be superscripts or subscripts, because of the unescaped
+ spaces: a^b c^d, a~b c~d.
</para>
</section>
<section id="smart-quotes-ellipses-dashes">
<title>Smart quotes, ellipses, dashes</title>
<para>
- <quote>Hello,</quote> said the spider.
- <quote><quote>Shelob</quote> is my name.</quote>
+ <quote>Hello,</quote> said the spider. <quote><quote>Shelob</quote> is my
+ name.</quote>
</para>
<para>
- <quote>A</quote>, <quote>B</quote>, and <quote>C</quote> are
- letters.
+ <quote>A</quote>, <quote>B</quote>, and <quote>C</quote> are letters.
</para>
<para>
- <quote>Oak,</quote> <quote>elm,</quote> and <quote>beech</quote>
- are names of trees. So is <quote>pine.</quote>
+ <quote>Oak,</quote> <quote>elm,</quote> and <quote>beech</quote> are names
+ of trees. So is <quote>pine.</quote>
</para>
<para>
- <quote>He said, <quote>I want to go.</quote></quote> Were you alive
- in the 70's?
+ <quote>He said, <quote>I want to go.</quote></quote> Were you alive in the
+ 70's?
</para>
<para>
Here is some quoted <quote><literal>code</literal></quote> and a
- <quote><ulink url="http://example.com/?foo=1&amp;bar=2">quoted link</ulink></quote>.
+ <quote><ulink url="http://example.com/?foo=1&amp;bar=2">quoted
+ link</ulink></quote>.
</para>
<para>
Some dashes: one—two — three—four — five.
@@ -1135,16 +1125,14 @@ Blah
</listitem>
<listitem>
<para>
- Escaped <literal>$</literal>: $73
- <emphasis>this should be emphasized</emphasis> 23$.
+ Escaped <literal>$</literal>: $73 <emphasis>this should be
+ emphasized</emphasis> 23$.
</para>
</listitem>
</itemizedlist>
<para>
Here's a LaTeX table:
</para>
- <para>
- </para>
</section>
<section id="special-characters">
<title>Special Characters</title>
@@ -1316,8 +1304,8 @@ Blah
<section id="with-ampersands">
<title>With ampersands</title>
<para>
- Here's a
- <ulink url="http://example.com/?foo=1&amp;bar=2">link with an ampersand in the URL</ulink>.
+ Here's a <ulink url="http://example.com/?foo=1&amp;bar=2">link with an
+ ampersand in the URL</ulink>.
</para>
<para>
Here's a link with an amersand in the link text:
@@ -1327,8 +1315,8 @@ Blah
Here's an <ulink url="/script?foo=1&amp;bar=2">inline link</ulink>.
</para>
<para>
- Here's an
- <ulink url="/script?foo=1&amp;bar=2">inline link in pointy braces</ulink>.
+ Here's an <ulink url="/script?foo=1&amp;bar=2">inline link in pointy
+ braces</ulink>.
</para>
</section>
<section id="autolinks">
@@ -1387,78 +1375,67 @@ or here: &lt;http://example.com/&gt;
</mediaobject>
</figure>
<para>
- Here is a movie
- <inlinemediaobject>
+ Here is a movie <inlinemediaobject>
<imageobject>
<imagedata fileref="movie.jpg" />
</imageobject>
- </inlinemediaobject>
- icon.
+ </inlinemediaobject> icon.
</para>
</section>
<section id="footnotes">
<title>Footnotes</title>
<para>
- Here is a footnote
- reference,<footnote>
- <para>
- Here is the footnote. It can go anywhere after the footnote
- reference. It need not be placed at the end of the document.
- </para>
- </footnote>
- and
- another.<footnote>
- <para>
- Here's the long note. This one contains multiple blocks.
- </para>
- <para>
- Subsequent blocks are indented to show that they belong to the
- footnote (as with list items).
- </para>
- <screen>
+ Here is a footnote reference,<footnote>
+ <para>
+ Here is the footnote. It can go anywhere after the footnote reference.
+ It need not be placed at the end of the document.
+ </para>
+ </footnote> and another.<footnote>
+ <para>
+ Here's the long note. This one contains multiple blocks.
+ </para>
+ <para>
+ Subsequent blocks are indented to show that they belong to the
+ footnote (as with list items).
+ </para>
+ <screen>
{ &lt;code&gt; }
</screen>
- <para>
- If you want, you can indent every line, but you can also be lazy
- and just indent the first line of each block.
- </para>
- </footnote>
- This should <emphasis>not</emphasis> be a footnote reference,
- because it contains a space.[^my note] Here is an inline
- note.<footnote>
- <para>
- This is <emphasis>easier</emphasis> to type. Inline notes may
- contain <ulink url="http://google.com">links</ulink> and
- <literal>]</literal> verbatim characters, as well as [bracketed
- text].
- </para>
- </footnote>
+ <para>
+ If you want, you can indent every line, but you can also be lazy and
+ just indent the first line of each block.
+ </para>
+ </footnote> This should <emphasis>not</emphasis> be a footnote reference,
+ because it contains a space.[^my note] Here is an inline note.<footnote>
+ <para>
+ This is <emphasis>easier</emphasis> to type. Inline notes may contain
+ <ulink url="http://google.com">links</ulink> and <literal>]</literal>
+ verbatim characters, as well as [bracketed text].
+ </para>
+ </footnote>
</para>
<blockquote>
<para>
- Notes can go in
- quotes.<footnote>
- <para>
- In quote.
- </para>
- </footnote>
+ Notes can go in quotes.<footnote>
+ <para>
+ In quote.
+ </para>
+ </footnote>
</para>
</blockquote>
<orderedlist numeration="arabic">
<listitem>
<para>
- And in list
- items.<footnote>
- <para>
- In list.
- </para>
- </footnote>
+ And in list items.<footnote>
+ <para>
+ In list.
+ </para>
+ </footnote>
</para>
</listitem>
</orderedlist>
<para>
- This paragraph should not be part of the note, as it is not
- indented.
+ This paragraph should not be part of the note, as it is not indented.
</para>
</section>
</article>
diff --git a/tests/writer.html b/tests/writer.html
index 39ae2ebb7..60f5f4a45 100644
--- a/tests/writer.html
+++ b/tests/writer.html
@@ -1,12 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>Pandoc Test Suite</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<meta name="author" content="John MacFarlane" />
<meta name="author" content="Anonymous" />
<meta name="date" content="July 17, 2006" />
+ <title>Pandoc Test Suite</title>
</head>
<body>
<h1 class="title">Pandoc Test Suite</h1>
@@ -74,7 +74,7 @@
></pre
><p
>A list:</p
- ><ol style="list-style-type: decimal;"
+ ><ol style="list-style-type: decimal"
><li
>item one</li
><li
@@ -207,7 +207,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
>Ordered</h2
><p
>Tight:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
>First</li
><li
@@ -217,7 +217,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>and:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
>One</li
><li
@@ -227,7 +227,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>Loose using tabs:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
><p
>First</p
@@ -243,7 +243,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>and using spaces:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
><p
>One</p
@@ -259,7 +259,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>Multiple paragraphs:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
><p
>Item 1, graf one.</p
@@ -291,7 +291,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ul
><p
>Here’s another:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
>First</li
><li
@@ -309,7 +309,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>Same thing but with paragraphs:</p
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
><p
>First</p
@@ -355,7 +355,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ul
><h2 id="fancy-list-markers"
>Fancy list markers</h2
-><ol start="2" style="list-style-type: decimal;"
+><ol start="2" style="list-style-type: decimal"
><li
>begins with 2</li
><li
@@ -363,11 +363,11 @@ These should not be escaped: \$ \\ \&gt; \[ \{
>and now 3</p
><p
>with a continuation</p
- ><ol start="4" style="list-style-type: lower-roman;"
+ ><ol start="4" style="list-style-type: lower-roman"
><li
>sublist with roman numerals, starting with 4</li
><li
- >more items<ol style="list-style-type: upper-alpha;"
+ >more items<ol style="list-style-type: upper-alpha"
><li
>a subsublist</li
><li
@@ -379,13 +379,13 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></ol
><p
>Nesting:</p
-><ol style="list-style-type: upper-alpha;"
+><ol style="list-style-type: upper-alpha"
><li
- >Upper Alpha<ol style="list-style-type: upper-roman;"
+ >Upper Alpha<ol style="list-style-type: upper-roman"
><li
- >Upper Roman.<ol start="6" style="list-style-type: decimal;"
+ >Upper Roman.<ol start="6" style="list-style-type: decimal"
><li
- >Decimal start with 6<ol start="3" style="list-style-type: lower-alpha;"
+ >Decimal start with 6<ol start="3" style="list-style-type: lower-alpha"
><li
>Lower alpha with paren</li
></ol
@@ -559,7 +559,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
><dd
><p
>orange fruit</p
- ><ol style="list-style-type: decimal;"
+ ><ol style="list-style-type: decimal"
><li
>sublist</li
><li
@@ -846,8 +846,6 @@ Blah
></ul
><p
>Here’s a LaTeX table:</p
-><p
-></p
><hr
/><h1 id="special-characters"
>Special Characters</h1
@@ -1026,7 +1024,7 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+'Email link'+'<\/'+'a'+'>')
>Autolinks</h2
><p
>With an ampersand: <a href="http://example.com/?foo=1&amp;bar=2"
- ><code
+ ><code class="url"
>http://example.com/?foo=1&amp;bar=2</code
></a
></p
@@ -1035,7 +1033,7 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+'Email link'+'<\/'+'a'+'>')
>In a list?</li
><li
><a href="http://example.com/"
- ><code
+ ><code class="url"
>http://example.com/</code
></a
></li
@@ -1056,7 +1054,7 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+'<code>'+e+'</code>'+'<\/'+
><blockquote
><p
>Blockquoted: <a href="http://example.com/"
- ><code
+ ><code class="url"
>http://example.com/</code
></a
></p
@@ -1110,7 +1108,7 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+'<code>'+e+'</code>'+'<\/'+
></sup
></p
></blockquote
-><ol style="list-style-type: decimal;"
+><ol style="list-style-type: decimal"
><li
>And in list items.<sup
><a href="#fn5" class="footnoteRef" id="fnref5"
diff --git a/tests/writer.latex b/tests/writer.latex
index 1621a4844..e6adff585 100644
--- a/tests/writer.latex
+++ b/tests/writer.latex
@@ -11,6 +11,8 @@
}\makeatother
\usepackage{enumerate}
\usepackage[normalem]{ulem}
+% avoid problems with \sout in headers with hyperref:
+\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
\newcommand{\textsubscr}[1]{\ensuremath{_{\scriptsize\textrm{#1}}}}
\usepackage{url}
\usepackage{graphicx}
@@ -23,7 +25,7 @@
\makeatother
\let\Oldincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
-\usepackage[breaklinks=true,unicode=true]{hyperref}
+\usepackage[breaklinks=true,unicode=true,pdfborder={0 0 0}]{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setcounter{secnumdepth}{0}
@@ -36,8 +38,8 @@
\begin{document}
\maketitle
-This is a set of tests for pandoc. Most of them are adapted from
-John Gruber's markdown test suite.
+This is a set of tests for pandoc. Most of them are adapted from John Gruber's
+markdown test suite.
\begin{center}\rule{3in}{0.4pt}\end{center}
@@ -47,9 +49,9 @@ John Gruber's markdown test suite.
\subsubsection{Level 3 with \emph{emphasis}}
-Level 4
+\paragraph{Level 4}
-Level 5
+\subparagraph{Level 5}
\section{Level 1}
@@ -69,9 +71,9 @@ with no blank line
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.
+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.
@@ -161,13 +163,10 @@ Asterisks loose:
\begin{itemize}
\item
asterisk 1
-
\item
asterisk 2
-
\item
asterisk 3
-
\end{itemize}
Pluses tight:
@@ -184,13 +183,10 @@ Pluses loose:
\begin{itemize}
\item
Plus 1
-
\item
Plus 2
-
\item
Plus 3
-
\end{itemize}
Minuses tight:
@@ -207,13 +203,10 @@ Minuses loose:
\begin{itemize}
\item
Minus 1
-
\item
Minus 2
-
\item
Minus 3
-
\end{itemize}
\subsection{Ordered}
@@ -242,26 +235,20 @@ Loose using tabs:
\begin{enumerate}[1.]
\item
First
-
\item
Second
-
\item
Third
-
\end{enumerate}
and using spaces:
\begin{enumerate}[1.]
\item
One
-
\item
Two
-
\item
Three
-
\end{enumerate}
Multiple paragraphs:
@@ -269,15 +256,11 @@ Multiple paragraphs:
\item
Item 1, graf one.
- Item 1. graf two. The quick brown fox jumped over the lazy dog's
- back.
-
+ Item 1. graf two. The quick brown fox jumped over the lazy dog's back.
\item
Item 2.
-
\item
Item 3.
-
\end{enumerate}
\subsection{Nested}
@@ -316,7 +299,6 @@ Same thing but with paragraphs:
\begin{enumerate}[1.]
\item
First
-
\item
Second:
@@ -330,24 +312,20 @@ Same thing but with paragraphs:
\end{itemize}
\item
Third
-
\end{enumerate}
\subsection{Tabs and spaces}
\begin{itemize}
\item
this is a list item indented with tabs
-
\item
this is a list item indented with spaces
\begin{itemize}
\item
this is an example list item indented with tabs
-
\item
this is an example list item indented with spaces
-
\end{itemize}
\end{itemize}
\subsection{Fancy list markers}
@@ -487,13 +465,11 @@ Multiple definitions, loose:
\item[apple]
red fruit
-
computer
\item[orange]
orange fruit
-
bank
\end{description}
@@ -503,7 +479,6 @@ Blank line after term, indented marker, alternate markers:
\item[apple]
red fruit
-
computer
\item[orange]
@@ -583,20 +558,17 @@ So is \textbf{\emph{this}} word.
So is \textbf{\emph{this}} word.
-This is code: \verb!>!, \verb!$!, \verb!\!, \verb!\$!,
-\verb!<html>!.
+This is code: \verb!>!, \verb!$!, \verb!\!, \verb!\$!, \verb!<html>!.
\sout{This is \emph{strikeout}.}
-Superscripts: a\textsuperscript{bc}d
-a\textsuperscript{\emph{hello}} a\textsuperscript{hello~there}.
+Superscripts: a\textsuperscript{bc}d a\textsuperscript{\emph{hello}}
+a\textsuperscript{hello~there}.
-Subscripts: H\textsubscr{2}O, H\textsubscr{23}O,
-H\textsubscr{many~of~them}O.
+Subscripts: H\textsubscr{2}O, H\textsubscr{23}O, H\textsubscr{many~of~them}O.
-These should not be superscripts or subscripts, because of the
-unescaped spaces: a\^{}b c\^{}d, a\ensuremath{\sim}b
-c\ensuremath{\sim}d.
+These should not be superscripts or subscripts, because of the unescaped
+spaces: a\^{}b c\^{}d, a\ensuremath{\sim}b c\ensuremath{\sim}d.
\begin{center}\rule{3in}{0.4pt}\end{center}
@@ -611,7 +583,7 @@ c\ensuremath{\sim}d.
`He said, ``I want to go.''\,' Were you alive in the 70's?
Here is some quoted `\verb!code!' and a
-``\href{http://example.com/?foo=1&bar=2}{quoted link}''.
+``\href{http://example.com/?foo=1\&bar=2}{quoted link}''.
Some dashes: one---two --- three---four --- five.
@@ -640,8 +612,7 @@ Ellipses\ldots{}and\ldots{}and\ldots{}.
Here's some display math:
\[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\]
\item
- Here's one that has a line break in it:
- $\alpha + \omega \times x^2$.
+ Here's one that has a line break in it: $\alpha + \omega \times x^2$.
\end{itemize}
These shouldn't be math:
@@ -649,8 +620,8 @@ These shouldn't be math:
\item
To get the famous equation, write \verb!$e = mc^2$!.
\item
- \$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if
- ``lot'' is emphasized.)
+ \$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if ``lot'' is
+ emphasized.)
\item
Shoes (\$20) and socks (\$5).
\item
@@ -704,9 +675,9 @@ Left brace: \{
Right brace: \}
-Left bracket: [
+Left bracket: {[}
-Right bracket: ]
+Right bracket: {]}
Left paren: (
@@ -742,7 +713,7 @@ Just a \href{/url/}{URL}.
\href{/url/}{URL and title}
-\href{/url/with_underscore}{with\_underscore}
+\href{/url/with\_underscore}{with\_underscore}
\href{mailto:nobody@nowhere.net}{Email link}
@@ -756,7 +727,7 @@ Foo \href{/url/}{bar}.
Foo \href{/url/}{bar}.
-With \href{/url/}{embedded [brackets]}.
+With \href{/url/}{embedded {[}brackets{]}}.
\href{/url/}{b} by itself should be a link.
@@ -766,7 +737,7 @@ Indented \href{/url}{twice}.
Indented \href{/url}{thrice}.
-This should [not][] be a link.
+This should {[}not{]}{[}{]} be a link.
\begin{verbatim}
[not]: /url
@@ -777,16 +748,15 @@ Foo \href{/url/}{biz}.
\subsection{With ampersands}
-Here's a
-\href{http://example.com/?foo=1&bar=2}{link with an ampersand in the URL}.
+Here's a \href{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:
\href{http://att.com/}{AT\&T}.
-Here's an \href{/script?foo=1&bar=2}{inline link}.
+Here's an \href{/script?foo=1\&bar=2}{inline link}.
-Here's an
-\href{/script?foo=1&bar=2}{inline link in pointy braces}.
+Here's an \href{/script?foo=1\&bar=2}{inline link in pointy braces}.
\subsection{Autolinks}
@@ -830,37 +800,32 @@ Here is a movie \includegraphics{movie.jpg} icon.
\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.
+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).
+ Subsequent blocks are indented to show that they belong to the footnote (as
+ with list items).
-\begin{Verbatim}
+ \begin{Verbatim}
{ <code> }
-\end{Verbatim}
-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 \emph{not} be a footnote reference, because it contains
-a space.[\^{}my note] Here is an inline note.%
-\footnote{This is \emph{easier} to type. Inline notes may contain
-\href{http://google.com}{links} and \verb!]! verbatim characters,
-as well as [bracketed text].}
+ \end{Verbatim}
+ 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 \emph{not} be a footnote
+reference, because it contains a space.{[}\^{}my note{]} Here is an inline
+note.\footnote{This is \emph{easier} to type. Inline notes may contain
+ \href{http://google.com}{links} and \verb!]! verbatim characters, as well as
+ {[}bracketed text{]}.}
\begin{quote}
-Notes can go in quotes.%
-\footnote{In quote.}
+Notes can go in quotes.\footnote{In quote.}
\end{quote}
\begin{enumerate}[1.]
\item
- And in list items.%
- \footnote{In list.}
+ And in list items.\footnote{In list.}
\end{enumerate}
-This paragraph should not be part of the note, as it is not
-indented.
+This paragraph should not be part of the note, as it is not indented.
\end{document}
diff --git a/tests/writer.man b/tests/writer.man
index e4dc0c7de..bdbb91604 100644
--- a/tests/writer.man
+++ b/tests/writer.man
@@ -26,8 +26,8 @@ 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.
+Because a hard-wrapped line in the middle of a paragraph looked like a list
+item.
.PP
Here's one with a bullet.
* criminey.
@@ -531,8 +531,8 @@ Superscripts: a^bc^d a^\f[I]hello\f[]^ a^hello\ there^.
.PP
Subscripts: H~2~O, H~23~O, H~many\ of\ them~O.
.PP
-These should not be superscripts or subscripts, because of the
-unescaped spaces: a^b c^d, a~b c~d.
+These should not be superscripts or subscripts, because of the unescaped
+spaces: a^b c^d, a~b c~d.
.PP
* * * * *
.SH Smart quotes, ellipses, dashes
@@ -547,8 +547,8 @@ So is `pine.'
.PP
`He said, \[lq]I want to go.\[rq]' Were you alive in the 70's?
.PP
-Here is some quoted `\f[C]code\f[]' and a
-\[lq]quoted link (http://example.com/?foo=1&bar=2)\[rq].
+Here is some quoted `\f[C]code\f[]' and a \[lq]quoted
+link (http://example.com/?foo=1&bar=2)\[rq].
.PP
Some dashes: one\[em]two \[em] three\[em]four \[em] five.
.PP
@@ -591,7 +591,6 @@ Escaped \f[C]$\f[]: $73 \f[I]this should be emphasized\f[] 23$.
.PP
Here's a LaTeX table:
.PP
-.PP
* * * * *
.SH Special Characters
.PP
@@ -641,7 +640,7 @@ Greater-than: >
.PP
Hash: #
.PP
-Period: \&.
+Period: .
.PP
Bang: !
.PP
@@ -701,11 +700,9 @@ Foo bar (/url/).
Foo biz (/url/).
.SS With ampersands
.PP
-Here's a
-link with an ampersand in the URL (http://example.com/?foo=1&bar=2).
+Here's a link with an ampersand in the URL (http://example.com/?foo=1&bar=2).
.PP
-Here's a link with an amersand in the link text:
-AT&T (http://att.com/).
+Here's a link with an amersand in the link text: AT&T (http://att.com/).
.PP
Here's an inline link (/script?foo=1&bar=2).
.PP
@@ -746,9 +743,9 @@ Here is a movie [IMAGE: movie (movie.jpg)] icon.
* * * * *
.SH Footnotes
.PP
-Here is a footnote reference,[1] and another.[2] This should
-\f[I]not\f[] be a footnote reference, because it contains a
-space.[^my note] Here is an inline note.[3]
+Here is a footnote reference,[1] and another.[2] This should \f[I]not\f[] be a
+footnote reference, because it contains a space.[^my note] Here is an inline
+note.[3]
.RS
.PP
Notes can go in quotes.[4]
@@ -756,23 +753,20 @@ Notes can go in quotes.[4]
.IP "1." 3
And in list items.[5]
.PP
-This paragraph should not be part of the note, as it is not
-indented.
+This paragraph should not be part of the note, as it is not indented.
.SH NOTES
-
.SS [1]
.PP
Here is the footnote.
It can go anywhere after the footnote reference.
It need not be placed at the end of the document.
-
.SS [2]
.PP
Here's the long note.
This one contains multiple blocks.
.PP
-Subsequent blocks are indented to show that they belong to the
-footnote (as with list items).
+Subsequent blocks are indented to show that they belong to the footnote (as
+with list items).
.IP
.nf
\f[C]
@@ -780,19 +774,16 @@ footnote (as with list items).
\f[]
.fi
.PP
-If you want, you can indent every line, but you can also be lazy
-and just indent the first line of each block.
-
+If you want, you can indent every line, but you can also be lazy and just
+indent the first line of each block.
.SS [3]
.PP
This is \f[I]easier\f[] to type.
-Inline notes may contain links (http://google.com) and \f[C]]\f[]
-verbatim characters, as well as [bracketed text].
-
+Inline notes may contain links (http://google.com) and \f[C]]\f[] verbatim
+characters, as well as [bracketed text].
.SS [4]
.PP
In quote.
-
.SS [5]
.PP
In list.
diff --git a/tests/writer.markdown b/tests/writer.markdown
index b417a8fee..cc56b8b3a 100644
--- a/tests/writer.markdown
+++ b/tests/writer.markdown
@@ -2,9 +2,8 @@
% 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.
-
+This is a set of tests for pandoc. Most of them are adapted from John Gruber’s
+markdown test suite.
* * * * *
@@ -30,23 +29,21 @@ with no blank line
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.
+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
+There should be a hard line break\
here.
-
* * * * *
# Block Quotes
@@ -56,27 +53,26 @@ 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
@@ -84,19 +80,18 @@ And a following paragraph.
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: \$ \\ \> \[ \{
+ These should not be escaped: \$ \\ \> \[ \{
* * * * *
@@ -118,7 +113,6 @@ Asterisks loose:
- asterisk 3
-
Pluses tight:
- Plus 1
@@ -133,7 +127,6 @@ Pluses loose:
- Plus 3
-
Minuses tight:
- Minus 1
@@ -148,7 +141,6 @@ Minuses loose:
- Minus 3
-
## Ordered
Tight:
@@ -171,7 +163,6 @@ Loose using tabs:
3. Third
-
and using spaces:
1. One
@@ -180,27 +171,22 @@ and using spaces:
3. Three
-
Multiple paragraphs:
1. Item 1, graf one.
- Item 1. graf two. The quick brown fox jumped over the lazy dog’s
- back.
+ 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
@@ -223,7 +209,6 @@ Same thing but with paragraphs:
3. Third
-
## Tabs and spaces
- this is a list item indented with tabs
@@ -234,8 +219,6 @@ Same thing but with paragraphs:
- this is an example list item indented with spaces
-
-
## Fancy list markers
(2) begins with 2
@@ -248,8 +231,6 @@ Same thing but with paragraphs:
(A) a subsublist
(B) a subsublist
-
-
Nesting:
A. Upper Alpha
@@ -257,23 +238,18 @@ A. Upper Alpha
(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
@@ -307,7 +283,6 @@ orange
banana
~ yellow fruit
-
Multiple blocks with italics:
*apple*
@@ -322,7 +297,6 @@ Multiple blocks with italics:
> orange block quote
-
Multiple definitions, tight:
apple
@@ -344,7 +318,6 @@ orange
~ bank
-
Blank line after term, indented marker, alternate markers:
apple
@@ -358,7 +331,6 @@ orange
1. sublist
2. sublist
-
# HTML Blocks
Simple block on one line:
@@ -470,7 +442,6 @@ Hr’s:
<hr class="foo" id="bar">
-
* * * * *
# Inline Markup
@@ -497,9 +468,8 @@ Superscripts: a^bc^d a^*hello*^ a^hello there^.
Subscripts: H~2~O, H~23~O, H~many of them~O.
-These should not be superscripts or subscripts, because of the
-unescaped spaces: a\^b c\^d, a\~b c\~d.
-
+These should not be superscripts or subscripts, because of the unescaped
+spaces: a\^b c\^d, a\~b c\~d.
* * * * *
@@ -513,8 +483,8 @@ unescaped spaces: a\^b c\^d, a\~b c\~d.
‘He said, “I want to go.”’ Were you alive in the 70’s?
-Here is some quoted ‘`code`’ and a
-“[quoted link](http://example.com/?foo=1&bar=2)”.
+Here is some quoted ‘`code`’ and a “[quoted
+link](http://example.com/?foo=1&bar=2)”.
Some dashes: one—two — three—four — five.
@@ -522,7 +492,6 @@ Dashes between numbers: 5–7, 255–66, 1987–1999.
Ellipses…and…and….
-
* * * * *
# LaTeX
@@ -535,14 +504,13 @@ Ellipses…and…and….
- $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$.
+- 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.)
+- $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$.
@@ -554,7 +522,6 @@ Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
-
* * * * *
# Special Characters
@@ -609,7 +576,6 @@ Plus: +
Minus: -
-
* * * * *
# Links
@@ -662,8 +628,7 @@ Foo [biz](/url/ "Title with "quote" inside").
## With ampersands
-Here’s a
-[link with an ampersand in the URL](http://example.com/?foo=1&bar=2).
+Here’s a [link with an ampersand in the URL](http://example.com/?foo=1&bar=2).
Here’s a link with an amersand in the link text:
[AT&T](http://att.com/ "AT&T").
@@ -688,7 +653,6 @@ Auto-links should not occur here: `<http://example.com/>`
or here: <http://example.com/>
-
* * * * *
# Images
@@ -699,44 +663,37 @@ From “Voyage dans la Lune” by Georges Melies (1902):
Here is a movie ![movie](movie.jpg) 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]
+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.
+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.
+[^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.
+[^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).
+ 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.
+ 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
+[^3]: This is *easier* to type. Inline notes may contain
[links](http://google.com) and `]` verbatim characters, as well as
[bracketed text].
-[^4]:
- In quote.
+[^4]: In quote.
-[^5]:
- In list.
+[^5]: In list.
diff --git a/tests/writer.mediawiki b/tests/writer.mediawiki
index 557396bfb..af4f7050c 100644
--- a/tests/writer.mediawiki
+++ b/tests/writer.mediawiki
@@ -496,7 +496,6 @@ Here&rsquo;s a LaTeX table:
-
-----
= Special Characters =
diff --git a/tests/writer.native b/tests/writer.native
index ced38537c..879cb24fc 100644
--- a/tests/writer.native
+++ b/tests/writer.native
@@ -1,417 +1,396 @@
-Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
-[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
-, HorizontalRule
-, Header 1 [Str "Headers"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
-, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 4 [Str "Level",Space,Str "4"]
-, Header 5 [Str "Level",Space,Str "5"]
-, Header 1 [Str "Level",Space,Str "1"]
-, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
-, Header 3 [Str "Level",Space,Str "3"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, Header 2 [Str "Level",Space,Str "2"]
-, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
-, HorizontalRule
-, Header 1 [Str "Paragraphs"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
-, Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
-, Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
-, HorizontalRule
-, Header 1 [Str "Block",Space,Str "Quotes"]
-, Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
-, BlockQuote
- [ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."] ]
-
-, BlockQuote
- [ Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
- , CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
- , Para [Str "A",Space,Str "list:"]
- , OrderedList (1,Decimal,Period)
- [ [ Plain [Str "item",Space,Str "one"] ]
- , [ Plain [Str "item",Space,Str "two"] ] ]
- , Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
- , BlockQuote
- [ Para [Str "nested"] ]
-
- , BlockQuote
- [ Para [Str "nested"] ]
- ]
-, Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
-, Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
-, HorizontalRule
-, Header 1 [Str "Code",Space,Str "Blocks"]
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
-, Para [Str "And:"]
-, CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
-, HorizontalRule
-, Header 1 [Str "Lists"]
-, Header 2 [Str "Unordered"]
-, Para [Str "Asterisks",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "asterisk",Space,Str "1"] ]
- , [ Plain [Str "asterisk",Space,Str "2"] ]
- , [ Plain [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Asterisks",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "asterisk",Space,Str "1"] ]
- , [ Para [Str "asterisk",Space,Str "2"] ]
- , [ Para [Str "asterisk",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Plus",Space,Str "1"] ]
- , [ Plain [Str "Plus",Space,Str "2"] ]
- , [ Plain [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Pluses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Plus",Space,Str "1"] ]
- , [ Para [Str "Plus",Space,Str "2"] ]
- , [ Para [Str "Plus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "tight:"]
-, BulletList
- [ [ Plain [Str "Minus",Space,Str "1"] ]
- , [ Plain [Str "Minus",Space,Str "2"] ]
- , [ Plain [Str "Minus",Space,Str "3"] ] ]
-, Para [Str "Minuses",Space,Str "loose:"]
-, BulletList
- [ [ Para [Str "Minus",Space,Str "1"] ]
- , [ Para [Str "Minus",Space,Str "2"] ]
- , [ Para [Str "Minus",Space,Str "3"] ] ]
-, Header 2 [Str "Ordered"]
-, Para [Str "Tight:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second"] ]
- , [ Plain [Str "Third"] ] ]
-, Para [Str "and:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "One"] ]
- , [ Plain [Str "Two"] ]
- , [ Plain [Str "Three"] ] ]
-, Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second"] ]
- , [ Para [Str "Third"] ] ]
-, Para [Str "and",Space,Str "using",Space,Str "spaces:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "One"] ]
- , [ Para [Str "Two"] ]
- , [ Para [Str "Three"] ] ]
-, Para [Str "Multiple",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
- , Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."] ], [ Para [Str "Item",Space,Str "2",Str "."] ]
- , [ Para [Str "Item",Space,Str "3",Str "."] ] ]
-, Header 2 [Str "Nested"]
-, BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"]
- , BulletList
- [ [ Plain [Str "Tab"] ]
- ] ] ] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "First"] ]
- , [ Plain [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Plain [Str "Third"] ] ]
-, Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
-, OrderedList (1,Decimal,Period)
- [ [ Para [Str "First"] ]
- , [ Para [Str "Second:"]
- , BulletList
- [ [ Plain [Str "Fee"] ]
- , [ Plain [Str "Fie"] ]
- , [ Plain [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
-, Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
-, BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
- , BulletList
- [ [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
- , [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ] ] ] ]
-, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
-, OrderedList (2,Decimal,TwoParens)
- [ [ Plain [Str "begins",Space,Str "with",Space,Str "2"] ]
- , [ Para [Str "and",Space,Str "now",Space,Str "3"]
- , Para [Str "with",Space,Str "a",Space,Str "continuation"]
- , OrderedList (4,LowerRoman,Period)
- [ [ Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
- , [ Plain [Str "more",Space,Str "items"]
- , OrderedList (1,UpperAlpha,TwoParens)
- [ [ Plain [Str "a",Space,Str "subsublist"] ]
- , [ Plain [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
-, Para [Str "Nesting:"]
-, OrderedList (1,UpperAlpha,Period)
- [ [ Plain [Str "Upper",Space,Str "Alpha"]
- , OrderedList (1,UpperRoman,Period)
- [ [ Plain [Str "Upper",Space,Str "Roman",Str "."]
- , OrderedList (6,Decimal,TwoParens)
- [ [ Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
- , OrderedList (3,LowerAlpha,OneParen)
- [ [ Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
- ] ] ] ] ] ] ]
-, Para [Str "Autonumbering:"]
-, OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Autonumber",Str "."] ]
- , [ Plain [Str "More",Str "."]
- , OrderedList (1,DefaultStyle,DefaultDelim)
- [ [ Plain [Str "Nested",Str "."] ]
- ] ] ]
-, Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
-, Para [Str "M.A.\160",Str "2007"]
-, Para [Str "B",Str ".",Space,Str "Williams"]
-, HorizontalRule
-, Header 1 [Str "Definition",Space,Str "Lists"]
-, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Plain [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Plain [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Loose:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- ])
- , ([Str "banana"],
- [ [ Para [Str "yellow",Space,Str "fruit"] ]
- ]) ]
-, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
-, DefinitionList
- [ ([Emph [Str "apple"]],
- [ [ Para [Str "red",Space,Str "fruit"]
- , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
- , ([Emph [Str "orange"]],
- [ [ Para [Str "orange",Space,Str "fruit"]
- , CodeBlock ("",[],[]) "{ orange code block }"
- , BlockQuote
- [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
- ]]) ]
-, Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Plain [Str "red",Space,Str "fruit"] ]
- , [ Plain [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Plain [Str "orange",Space,Str "fruit"] ]
- , [ Plain [Str "bank"] ]
- ]) ]
-, Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- , [ Para [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"] ]
- , [ Para [Str "bank"] ]
- ]) ]
-, Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"]
-, DefinitionList
- [ ([Str "apple"],
- [ [ Para [Str "red",Space,Str "fruit"] ]
- , [ Para [Str "computer"] ]
- ])
- , ([Str "orange"],
- [ [ Para [Str "orange",Space,Str "fruit"]
- , OrderedList (1,Decimal,Period)
- [ [ Plain [Str "sublist"] ]
- , [ Plain [Str "sublist"] ] ] ]]) ]
-, Header 1 [Str "HTML",Space,Str "Blocks"]
-, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
-, RawHtml "<div>"
-, Plain [Str "foo"]
-, RawHtml "</div>\n"
-, Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
-, RawHtml "<div>\n<div>\n<div>"
-, Plain [Str "foo"]
-, RawHtml "</div>\n</div>\n<div>"
-, Plain [Str "bar"]
-, RawHtml "</div>\n</div>\n"
-, Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
-, RawHtml "<table>\n<tr>\n<td>"
-, Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
-, RawHtml "</td>\n<td>"
-, Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
-, RawHtml "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
-, RawHtml "<div>\n "
-, Plain [Str "foo"]
-, RawHtml "</div>\n"
-, Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
-, CodeBlock ("",[],[]) "<div>\n foo\n</div>"
-, Para [Str "As",Space,Str "should",Space,Str "this:"]
-, CodeBlock ("",[],[]) "<div>foo</div>"
-, Para [Str "Now,",Space,Str "nested:"]
-, RawHtml "<div>\n <div>\n <div>\n "
-, Plain [Str "foo"]
-, RawHtml "</div>\n </div>\n</div>\n"
-, Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
-, RawHtml "<!-- Comment -->\n"
-, Para [Str "Multiline:"]
-, RawHtml "<!--\nBlah\nBlah\n-->\n\n<!--\n This is another comment.\n-->\n"
-, Para [Str "Code",Space,Str "block:"]
-, CodeBlock ("",[],[]) "<!-- Comment -->"
-, Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
-, RawHtml "<!-- foo --> \n"
-, Para [Str "Code:"]
-, CodeBlock ("",[],[]) "<hr />"
-, Para [Str "Hr",Apostrophe,Str "s:"]
-, RawHtml "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
-, HorizontalRule
-, Header 1 [Str "Inline",Space,Str "Markup"]
-, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
-, Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
-, Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
-, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
-, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
-, Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
-, Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
-, Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Str "\160",Str "there"],Str "."]
-, Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many",Str "\160",Str "of",Str "\160",Str "them"],Str "O",Str "."]
-, Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d,",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d",Str "."]
-, HorizontalRule
-, Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
-, Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
-, Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
-, Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
-, Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
-, Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
-, Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999",Str "."]
-, Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
-, HorizontalRule
-, Header 1 [Str "LaTeX"]
-, BulletList
- [ [ Plain [TeX "\\cite[22-23]{smith.1899}"] ]
- , [ Plain [Math InlineMath "2+2=4"] ]
- , [ Plain [Math InlineMath "x \\in y"] ]
- , [ Plain [Math InlineMath "\\alpha \\wedge \\omega"] ]
- , [ Plain [Math InlineMath "223"] ]
- , [ Plain [Math InlineMath "p",Str "-",Str "Tree"] ]
- , [ Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math:",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"] ]
- , [ Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."] ] ]
-, Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
-, BulletList
- [ [ Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code "$e = mc^2$",Str "."] ]
- , [ Plain [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000",Str ".",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"] ]
- , [ Plain [Str "Shoes",Space,Str "(",Str "$",Str "20)",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5)",Str "."] ]
- , [ Plain [Str "Escaped",Space,Code "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."] ] ]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
-, Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"]
-, HorizontalRule
-, Header 1 [Str "Special",Space,Str "Characters"]
-, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
-, BulletList
- [ [ Plain [Str "I",Space,Str "hat:",Space,Str "\206"] ]
- , [ Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"] ]
- , [ Plain [Str "section:",Space,Str "\167"] ]
- , [ Plain [Str "set",Space,Str "membership:",Space,Str "\8712"] ]
- , [ Plain [Str "copyright:",Space,Str "\169"] ] ]
-, Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
-, Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
-, Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
-, Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
-, Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
-, Para [Str "Backslash:",Space,Str "\\"]
-, Para [Str "Backtick:",Space,Str "`"]
-, Para [Str "Asterisk:",Space,Str "*"]
-, Para [Str "Underscore:",Space,Str "_"]
-, Para [Str "Left",Space,Str "brace:",Space,Str "{"]
-, Para [Str "Right",Space,Str "brace:",Space,Str "}"]
-, Para [Str "Left",Space,Str "bracket:",Space,Str "["]
-, Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
-, Para [Str "Left",Space,Str "paren:",Space,Str "("]
-, Para [Str "Right",Space,Str "paren:",Space,Str ")"]
-, Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
-, Para [Str "Hash:",Space,Str "#"]
-, Para [Str "Period:",Space,Str "."]
-, Para [Str "Bang:",Space,Str "!"]
-, Para [Str "Plus:",Space,Str "+"]
-, Para [Str "Minus:",Space,Str "-"]
-, HorizontalRule
-, Header 1 [Str "Links"]
-, Header 2 [Str "Explicit"]
-, Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
-, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
-, Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
-, Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
-, Para [Link [Str "Empty"] ("",""),Str "."]
-, Header 2 [Str "Reference"]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
-, Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
-, Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
-, Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
-, Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
-, Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
-, CodeBlock ("",[],[]) "[not]: /url"
-, Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
-, Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
-, Header 2 [Str "With",Space,Str "ampersands"]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
-, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
-, Header 2 [Str "Autolinks"]
-, Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
-, BulletList
- [ [ Plain [Str "In",Space,Str "a",Space,Str "list?"] ]
- , [ Plain [Link [Code "http://example.com/"] ("http://example.com/","")] ]
- , [ Plain [Str "It",Space,Str "should",Str "."] ] ]
-, Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Link [Code "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
-, BlockQuote
- [ Para [Str "Blockquoted:",Space,Link [Code "http://example.com/"] ("http://example.com/","")] ]
-
-, Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code "<http://example.com/>"]
-, CodeBlock ("",[],[]) "or here: <http://example.com/>"
-, HorizontalRule
-, Header 1 [Str "Images"]
-, Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
-, Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
-, HorizontalRule
-, Header 1 [Str "Footnotes"]
-, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
-, BlockQuote
- [ Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]] ]
-
-, OrderedList (1,Decimal,Period)
- [ [ Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items",Str ".",Note [Para [Str "In",Space,Str "list",Str "."]]] ]
- ]
-, Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented",Str "."] ]
+Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
+,HorizontalRule
+,Header 1 [Str "Headers"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
+,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 4 [Str "Level",Space,Str "4"]
+,Header 5 [Str "Level",Space,Str "5"]
+,Header 1 [Str "Level",Space,Str "1"]
+,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
+,Header 3 [Str "Level",Space,Str "3"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,Header 2 [Str "Level",Space,Str "2"]
+,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
+,HorizontalRule
+,Header 1 [Str "Paragraphs"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
+,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
+,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
+,HorizontalRule
+,Header 1 [Str "Block",Space,Str "Quotes"]
+,Para [Str "E",Str "-",Str "mail",Space,Str "style",Str ":"]
+,BlockQuote
+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
+,BlockQuote
+ [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
+ ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
+ ,Para [Str "A",Space,Str "list",Str ":"]
+ ,OrderedList (1,Decimal,Period)
+ [[Plain [Str "item",Space,Str "one"]]
+ ,[Plain [Str "item",Space,Str "two"]]]
+ ,Para [Str "Nested",Space,Str "block",Space,Str "quotes",Str ":"]
+ ,BlockQuote
+ [Para [Str "nested"]]
+ ,BlockQuote
+ [Para [Str "nested"]]]
+,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":",Space,Str "2",Space,Str ">",Space,Str "1",Str "."]
+,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
+,HorizontalRule
+,Header 1 [Str "Code",Space,Str "Blocks"]
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
+,Para [Str "And",Str ":"]
+,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
+,HorizontalRule
+,Header 1 [Str "Lists"]
+,Header 2 [Str "Unordered"]
+,Para [Str "Asterisks",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "asterisk",Space,Str "1"]]
+ ,[Plain [Str "asterisk",Space,Str "2"]]
+ ,[Plain [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Asterisks",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "asterisk",Space,Str "1"]]
+ ,[Para [Str "asterisk",Space,Str "2"]]
+ ,[Para [Str "asterisk",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Plus",Space,Str "1"]]
+ ,[Plain [Str "Plus",Space,Str "2"]]
+ ,[Plain [Str "Plus",Space,Str "3"]]]
+,Para [Str "Pluses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Plus",Space,Str "1"]]
+ ,[Para [Str "Plus",Space,Str "2"]]
+ ,[Para [Str "Plus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "tight",Str ":"]
+,BulletList
+ [[Plain [Str "Minus",Space,Str "1"]]
+ ,[Plain [Str "Minus",Space,Str "2"]]
+ ,[Plain [Str "Minus",Space,Str "3"]]]
+,Para [Str "Minuses",Space,Str "loose",Str ":"]
+,BulletList
+ [[Para [Str "Minus",Space,Str "1"]]
+ ,[Para [Str "Minus",Space,Str "2"]]
+ ,[Para [Str "Minus",Space,Str "3"]]]
+,Header 2 [Str "Ordered"]
+,Para [Str "Tight",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second"]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "and",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "One"]]
+ ,[Plain [Str "Two"]]
+ ,[Plain [Str "Three"]]]
+,Para [Str "Loose",Space,Str "using",Space,Str "tabs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second"]]
+ ,[Para [Str "Third"]]]
+,Para [Str "and",Space,Str "using",Space,Str "spaces",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "One"]]
+ ,[Para [Str "Two"]]
+ ,[Para [Str "Three"]]]
+,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
+ ,[Para [Str "Item",Space,Str "2",Str "."]]
+ ,[Para [Str "Item",Space,Str "3",Str "."]]]
+,Header 2 [Str "Nested"]
+,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]
+ ,BulletList
+ [[Plain [Str "Tab"]]]]]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "First"]]
+ ,[Plain [Str "Second",Str ":"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Plain [Str "Third"]]]
+,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs",Str ":"]
+,OrderedList (1,Decimal,Period)
+ [[Para [Str "First"]]
+ ,[Para [Str "Second",Str ":"]
+ ,BulletList
+ [[Plain [Str "Fee"]]
+ ,[Plain [Str "Fie"]]
+ ,[Plain [Str "Foe"]]]]
+ ,[Para [Str "Third"]]]
+,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
+,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
+ ,BulletList
+ [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
+ ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]]
+,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
+,OrderedList (2,Decimal,TwoParens)
+ [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
+ ,[Para [Str "and",Space,Str "now",Space,Str "3"]
+ ,Para [Str "with",Space,Str "a",Space,Str "continuation"]
+ ,OrderedList (4,LowerRoman,Period)
+ [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals",Str ",",Space,Str "starting",Space,Str "with",Space,Str "4"]]
+ ,[Plain [Str "more",Space,Str "items"]
+ ,OrderedList (1,UpperAlpha,TwoParens)
+ [[Plain [Str "a",Space,Str "subsublist"]]
+ ,[Plain [Str "a",Space,Str "subsublist"]]]]]]]
+,Para [Str "Nesting",Str ":"]
+,OrderedList (1,UpperAlpha,Period)
+ [[Plain [Str "Upper",Space,Str "Alpha"]
+ ,OrderedList (1,UpperRoman,Period)
+ [[Plain [Str "Upper",Space,Str "Roman",Str "."]
+ ,OrderedList (6,Decimal,TwoParens)
+ [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
+ ,OrderedList (3,LowerAlpha,OneParen)
+ [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]]
+,Para [Str "Autonumbering",Str ":"]
+,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Autonumber",Str "."]]
+ ,[Plain [Str "More",Str "."]
+ ,OrderedList (1,DefaultStyle,DefaultDelim)
+ [[Plain [Str "Nested",Str "."]]]]]
+,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item",Str ":"]
+,Para [Str "M.A.\160",Str "2007"]
+,Para [Str "B",Str ".",Space,Str "Williams"]
+,HorizontalRule
+,Header 1 [Str "Definition",Space,Str "Lists"]
+,Para [Str "Tight",Space,Str "using",Space,Str "spaces",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Tight",Space,Str "using",Space,Str "tabs",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Plain [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Loose",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]])
+ ,([Str "banana"],
+ [[Para [Str "yellow",Space,Str "fruit"]]])]
+,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics",Str ":"]
+,DefinitionList
+ [([Emph [Str "apple"]],
+ [[Para [Str "red",Space,Str "fruit"]
+ ,Para [Str "contains",Space,Str "seeds",Str ",",Space,Str "crisp",Str ",",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]])
+ ,([Emph [Str "orange"]],
+ [[Para [Str "orange",Space,Str "fruit"]
+ ,CodeBlock ("",[],[]) "{ orange code block }"
+ ,BlockQuote
+ [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
+,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "tight",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Plain [Str "red",Space,Str "fruit"]]
+ ,[Plain [Str "computer"]]])
+ ,([Str "orange"],
+ [[Plain [Str "orange",Space,Str "fruit"]]
+ ,[Plain [Str "bank"]]])]
+,Para [Str "Multiple",Space,Str "definitions",Str ",",Space,Str "loose",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]
+ ,[Para [Str "computer"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]]
+ ,[Para [Str "bank"]]])]
+,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term",Str ",",Space,Str "indented",Space,Str "marker",Str ",",Space,Str "alternate",Space,Str "markers",Str ":"]
+,DefinitionList
+ [([Str "apple"],
+ [[Para [Str "red",Space,Str "fruit"]]
+ ,[Para [Str "computer"]]])
+ ,([Str "orange"],
+ [[Para [Str "orange",Space,Str "fruit"]
+ ,OrderedList (1,Decimal,Period)
+ [[Plain [Str "sublist"]]
+ ,[Plain [Str "sublist"]]]]])]
+,Header 1 [Str "HTML",Space,Str "Blocks"]
+,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
+,RawBlock "html" "<div>"
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n"
+,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation",Str ":"]
+,RawBlock "html" "<div>\n<div>\n<div>"
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n</div>\n<div>"
+,Plain [Str "bar"]
+,RawBlock "html" "</div>\n</div>\n"
+,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table",Str ":"]
+,RawBlock "html" "<table>\n<tr>\n<td>"
+,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]]
+,RawBlock "html" "</td>\n<td>"
+,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
+,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
+,RawBlock "html" "<div>\n "
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n"
+,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block",Str ",",Space,Str "though",Str ":"]
+,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
+,Para [Str "As",Space,Str "should",Space,Str "this",Str ":"]
+,CodeBlock ("",[],[]) "<div>foo</div>"
+,Para [Str "Now",Str ",",Space,Str "nested",Str ":"]
+,RawBlock "html" "<div>\n <div>\n <div>\n "
+,Plain [Str "foo"]
+,RawBlock "html" "</div>\n </div>\n</div>\n"
+,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment",Str ":"]
+,RawBlock "html" "<!-- Comment -->\n"
+,Para [Str "Multiline",Str ":"]
+,RawBlock "html" "<!--\nBlah\nBlah\n-->\n\n<!--\n This is another comment.\n-->\n"
+,Para [Str "Code",Space,Str "block",Str ":"]
+,CodeBlock ("",[],[]) "<!-- Comment -->"
+,Para [Str "Just",Space,Str "plain",Space,Str "comment",Str ",",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line",Str ":"]
+,RawBlock "html" "<!-- foo --> \n"
+,Para [Str "Code",Str ":"]
+,CodeBlock ("",[],[]) "<hr />"
+,Para [Str "Hr",Apostrophe,Str "s",Str ":"]
+,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
+,HorizontalRule
+,Header 1 [Str "Inline",Space,Str "Markup"]
+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
+,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
+,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]]]
+,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
+,Para [Str "This",Space,Str "is",Space,Str "code",Str ":",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]
+,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
+,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Str "\160",Str "there"],Str "."]
+,Para [Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Str "\160",Str "of",Str "\160",Str "them"],Str "O",Str "."]
+,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts",Str ",",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces",Str ":",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d",Str ",",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d",Str "."]
+,HorizontalRule
+,Header 1 [Str "Smart",Space,Str "quotes",Str ",",Space,Str "ellipses",Str ",",Space,Str "dashes"]
+,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
+,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
+,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
+,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s",Str "?"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
+,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",EnDash,Str "7",Str ",",Space,Str "255",EnDash,Str "66",Str ",",Space,Str "1987",EnDash,Str "1999",Str "."]
+,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
+,HorizontalRule
+,Header 1 [Str "LaTeX"]
+,BulletList
+ [[Plain [RawInline "tex" "\\cite[22-23]{smith.1899}"]]
+ ,[Plain [Math InlineMath "2+2=4"]]
+ ,[Plain [Math InlineMath "x \\in y"]]
+ ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
+ ,[Plain [Math InlineMath "223"]]
+ ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
+ ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
+ ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
+,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math",Str ":"]
+,BulletList
+ [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
+ ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
+ ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
+ ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
+,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
+,HorizontalRule
+,Header 1 [Str "Special",Space,Str "Characters"]
+,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode",Str ":"]
+,BulletList
+ [[Plain [Str "I",Space,Str "hat",Str ":",Space,Str "\206"]]
+ ,[Plain [Str "o",Space,Str "umlaut",Str ":",Space,Str "\246"]]
+ ,[Plain [Str "section",Str ":",Space,Str "\167"]]
+ ,[Plain [Str "set",Space,Str "membership",Str ":",Space,Str "\8712"]]
+ ,[Plain [Str "copyright",Str ":",Space,Str "\169"]]]
+,Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name",Str "."]
+,Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it",Str "."]
+,Para [Str "This",Space,Str "&",Space,Str "that",Str "."]
+,Para [Str "4",Space,Str "<",Space,Str "5",Str "."]
+,Para [Str "6",Space,Str ">",Space,Str "5",Str "."]
+,Para [Str "Backslash",Str ":",Space,Str "\\"]
+,Para [Str "Backtick",Str ":",Space,Str "`"]
+,Para [Str "Asterisk",Str ":",Space,Str "*"]
+,Para [Str "Underscore",Str ":",Space,Str "_"]
+,Para [Str "Left",Space,Str "brace",Str ":",Space,Str "{"]
+,Para [Str "Right",Space,Str "brace",Str ":",Space,Str "}"]
+,Para [Str "Left",Space,Str "bracket",Str ":",Space,Str "["]
+,Para [Str "Right",Space,Str "bracket",Str ":",Space,Str "]"]
+,Para [Str "Left",Space,Str "paren",Str ":",Space,Str "("]
+,Para [Str "Right",Space,Str "paren",Str ":",Space,Str ")"]
+,Para [Str "Greater",Str "-",Str "than",Str ":",Space,Str ">"]
+,Para [Str "Hash",Str ":",Space,Str "#"]
+,Para [Str "Period",Str ":",Space,Str "."]
+,Para [Str "Bang",Str ":",Space,Str "!"]
+,Para [Str "Plus",Str ":",Space,Str "+"]
+,Para [Str "Minus",Str ":",Space,Str "-"]
+,HorizontalRule
+,Header 1 [Str "Links"]
+,Header 2 [Str "Explicit"]
+,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")]
+,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
+,Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
+,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
+,Para [Link [Str "Empty"] ("",""),Str "."]
+,Header 2 [Str "Reference"]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
+,Para [Str "With",Space,Link [Str "embedded",Space,Str "[",Str "brackets",Str "]"] ("/url/",""),Str "."]
+,Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
+,Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
+,Para [Str "This",Space,Str "should",Space,Str "[",Str "not",Str "]",Str "[",Str "]",Space,Str "be",Space,Str "a",Space,Str "link",Str "."]
+,CodeBlock ("",[],[]) "[not]: /url"
+,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
+,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
+,Header 2 [Str "With",Space,Str "ampersands"]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
+,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
+,Header 2 [Str "Autolinks"]
+,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
+,BulletList
+ [[Plain [Str "In",Space,Str "a",Space,Str "list",Str "?"]]
+ ,[Plain [Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+ ,[Plain [Str "It",Space,Str "should",Str "."]]]
+,Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address",Str ":",Space,Link [Code ("",["url"],[]) "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
+,BlockQuote
+ [Para [Str "Blockquoted",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/"] ("http://example.com/","")]]
+,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here",Str ":",Space,Code ("",[],[]) "<http://example.com/>"]
+,CodeBlock ("",[],[]) "or here: <http://example.com/>"
+,HorizontalRule
+,Header 1 [Str "Images"]
+,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(",Str "1902",Str ")",Str ":"]
+,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
+,HorizontalRule
+,Header 1 [Str "Footnotes"]
+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
+,BlockQuote
+ [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
+,OrderedList (1,Decimal,Period)
+ [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items",Str ".",Note [Para [Str "In",Space,Str "list",Str "."]]]]]
+,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note",Str ",",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented",Str "."]]
diff --git a/tests/writer.opendocument b/tests/writer.opendocument
index a08e5cf0a..05d45792a 100644
--- a/tests/writer.opendocument
+++ b/tests/writer.opendocument
@@ -859,29 +859,41 @@
<text:p text:style-name="Author">John MacFarlane</text:p>
<text:p text:style-name="Author">Anonymous</text:p>
<text:p text:style-name="Date">July 17, 2006</text:p>
-<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most of them are adapted from John Gruber&#8217;s markdown test suite.</text:p>
+<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most
+of them are adapted from John Gruber&#8217;s markdown test suite.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Headers</text:h>
-<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with an <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">embedded link</text:span></text:a></text:h>
-<text:h text:style-name="Heading_20_3" text:outline-level="3">Level 3 with <text:span text:style-name="T1">emphasis</text:span></text:h>
+<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with an
+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">embedded
+link</text:span></text:a></text:h>
+<text:h text:style-name="Heading_20_3" text:outline-level="3">Level 3 with
+<text:span text:style-name="T1">emphasis</text:span></text:h>
<text:h text:style-name="Heading_20_4" text:outline-level="4">Level 4</text:h>
<text:h text:style-name="Heading_20_5" text:outline-level="5">Level 5</text:h>
<text:h text:style-name="Heading_20_1" text:outline-level="1">Level 1</text:h>
-<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with <text:span text:style-name="T2">emphasis</text:span></text:h>
+<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with
+<text:span text:style-name="T2">emphasis</text:span></text:h>
<text:h text:style-name="Heading_20_3" text:outline-level="3">Level 3</text:h>
<text:p text:style-name="Text_20_body">with no blank line</text:p>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2</text:h>
<text:p text:style-name="Text_20_body">with no blank line</text:p>
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Paragraphs</text:h>
-<text:p text:style-name="Text_20_body">Here&#8217;s a regular paragraph.</text:p>
-<text:p text:style-name="Text_20_body">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.</text:p>
-<text:p text:style-name="Text_20_body">Here&#8217;s one with a bullet. * criminey.</text:p>
-<text:p text:style-name="Text_20_body">There should be a hard line break<text:line-break />here.</text:p>
+<text:p text:style-name="Text_20_body">Here&#8217;s a regular
+paragraph.</text:p>
+<text:p text:style-name="Text_20_body">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.</text:p>
+<text:p text:style-name="Text_20_body">Here&#8217;s one with a bullet. *
+criminey.</text:p>
+<text:p text:style-name="Text_20_body">There should be a hard line
+break<text:line-break />here.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Block Quotes</text:h>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Block
+Quotes</text:h>
<text:p text:style-name="Text_20_body">E-mail style:</text:p>
-<text:p text:style-name="P1">This is a block quote. It is pretty short.</text:p>
+<text:p text:style-name="P1">This is a block quote. It is pretty
+short.</text:p>
<text:p text:style-name="P2">Code in a block quote:</text:p>
<text:p text:style-name="P3">sub status {</text:p>
<text:p text:style-name="P4"><text:s text:c="4" />print &quot;working&quot;;</text:p>
@@ -898,10 +910,12 @@
<text:p text:style-name="P2">Nested block quotes:</text:p>
<text:p text:style-name="P7">nested</text:p>
<text:p text:style-name="P8">nested</text:p>
-<text:p text:style-name="Text_20_body">This should not be a block quote: 2 &gt; 1.</text:p>
+<text:p text:style-name="Text_20_body">This should not be a block quote: 2
+&gt; 1.</text:p>
<text:p text:style-name="Text_20_body">And a following paragraph.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Code Blocks</text:h>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Code
+Blocks</text:h>
<text:p text:style-name="Text_20_body">Code:</text:p>
<text:p text:style-name="P9">---- (should be four hyphens)</text:p>
<text:p text:style-name="P10"></text:p>
@@ -1042,7 +1056,8 @@
<text:list text:style-name="L12">
<text:list-item>
<text:p text:style-name="P29">Item 1, graf one.</text:p>
- <text:p text:style-name="P29">Item 1. graf two. The quick brown fox jumped over the lazy dog&#8217;s back.</text:p>
+ <text:p text:style-name="P29">Item 1. graf two. The quick brown fox jumped
+ over the lazy dog&#8217;s back.</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P29">Item 2.</text:p>
@@ -1055,14 +1070,14 @@
<text:list text:style-name="L13">
<text:list-item>
<text:p text:style-name="P30">Tab</text:p><text:list text:style-name="L14">
- <text:list-item>
- <text:p text:style-name="P31">Tab</text:p><text:list text:style-name="L15">
- <text:list-item>
- <text:p text:style-name="P32">Tab</text:p>
- </text:list-item>
- </text:list>
- </text:list-item>
- </text:list>
+ <text:list-item>
+ <text:p text:style-name="P31">Tab</text:p><text:list text:style-name="L15">
+ <text:list-item>
+ <text:p text:style-name="P32">Tab</text:p>
+ </text:list-item>
+ </text:list>
+ </text:list-item>
+ </text:list>
</text:list-item>
</text:list>
<text:p text:style-name="Text_20_body">Here&#8217;s another:</text:p>
@@ -1088,7 +1103,8 @@
<text:p text:style-name="P33">Third</text:p>
</text:list-item>
</text:list>
-<text:p text:style-name="Text_20_body">Same thing but with paragraphs:</text:p>
+<text:p text:style-name="Text_20_body">Same thing but with
+paragraphs:</text:p>
<text:list text:style-name="L18">
<text:list-item>
<text:p text:style-name="P35">First</text:p>
@@ -1111,23 +1127,29 @@
<text:p text:style-name="P35">Third</text:p>
</text:list-item>
</text:list>
-<text:h text:style-name="Heading_20_2" text:outline-level="2">Tabs and spaces</text:h>
+<text:h text:style-name="Heading_20_2" text:outline-level="2">Tabs and
+spaces</text:h>
<text:list text:style-name="L20">
<text:list-item>
- <text:p text:style-name="P37">this is a list item indented with tabs</text:p>
+ <text:p text:style-name="P37">this is a list item indented with
+ tabs</text:p>
</text:list-item>
<text:list-item>
- <text:p text:style-name="P37">this is a list item indented with spaces</text:p><text:list text:style-name="L21">
- <text:list-item>
- <text:p text:style-name="P38">this is an example list item indented with tabs</text:p>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="P38">this is an example list item indented with spaces</text:p>
- </text:list-item>
- </text:list>
+ <text:p text:style-name="P37">this is a list item indented with
+ spaces</text:p><text:list text:style-name="L21">
+ <text:list-item>
+ <text:p text:style-name="P38">this is an example list item indented
+ with tabs</text:p>
+ </text:list-item>
+ <text:list-item>
+ <text:p text:style-name="P38">this is an example list item indented
+ with spaces</text:p>
+ </text:list-item>
+ </text:list>
</text:list-item>
</text:list>
-<text:h text:style-name="Heading_20_2" text:outline-level="2">Fancy list markers</text:h>
+<text:h text:style-name="Heading_20_2" text:outline-level="2">Fancy list
+markers</text:h>
<text:list text:style-name="L22">
<text:list-item>
<text:p text:style-name="P39">begins with 2</text:p>
@@ -1137,7 +1159,8 @@
<text:p text:style-name="P39">with a continuation</text:p>
<text:list>
<text:list-item>
- <text:p text:style-name="P39">sublist with roman numerals, starting with 4</text:p>
+ <text:p text:style-name="P39">sublist with roman numerals, starting
+ with 4</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P39">more items</text:p>
@@ -1192,21 +1215,26 @@
<text:p text:style-name="Text_20_body">M.A. 2007</text:p>
<text:p text:style-name="Text_20_body">B. Williams</text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Definition Lists</text:h>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Definition
+Lists</text:h>
<text:p text:style-name="Text_20_body">Tight using spaces:</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>
-<text:p text:style-name="Definition_20_Definition_20_Tight">orange fruit</text:p>
+<text:p text:style-name="Definition_20_Definition_20_Tight">orange
+fruit</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>
-<text:p text:style-name="Definition_20_Definition_20_Tight">yellow fruit</text:p>
+<text:p text:style-name="Definition_20_Definition_20_Tight">yellow
+fruit</text:p>
<text:p text:style-name="Text_20_body">Tight using tabs:</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>
-<text:p text:style-name="Definition_20_Definition_20_Tight">orange fruit</text:p>
+<text:p text:style-name="Definition_20_Definition_20_Tight">orange
+fruit</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>
-<text:p text:style-name="Definition_20_Definition_20_Tight">yellow fruit</text:p>
+<text:p text:style-name="Definition_20_Definition_20_Tight">yellow
+fruit</text:p>
<text:p text:style-name="Text_20_body">Loose:</text:p>
<text:p text:style-name="Definition_20_Term">apple</text:p>
<text:p text:style-name="Definition_20_Definition">red fruit</text:p>
@@ -1216,15 +1244,19 @@
<text:p text:style-name="Definition_20_Definition">yellow fruit</text:p>
<text:p text:style-name="Text_20_body">Multiple blocks with italics:</text:p>
<text:p text:style-name="Definition_20_Term"><text:span text:style-name="T3">apple</text:span></text:p>
-<text:p text:style-name="Definition_20_Definition">red fruit</text:p><text:p text:style-name="Definition_20_Definition">contains seeds, crisp, pleasant to taste</text:p>
+<text:p text:style-name="Definition_20_Definition">red
+fruit</text:p><text:p text:style-name="Definition_20_Definition">contains
+seeds, crisp, pleasant to taste</text:p>
<text:p text:style-name="Definition_20_Term"><text:span text:style-name="T4">orange</text:span></text:p>
-<text:p text:style-name="Definition_20_Definition">orange fruit</text:p><text:p text:style-name="P42">{ orange code block }</text:p><text:p text:style-name="P43">orange block quote</text:p>
+<text:p text:style-name="Definition_20_Definition">orange fruit</text:p><text:p text:style-name="P42">{ orange code block }</text:p><text:p text:style-name="P43">orange
+block quote</text:p>
<text:p text:style-name="Text_20_body">Multiple definitions, tight:</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">computer</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>
-<text:p text:style-name="Definition_20_Definition_20_Tight">orange fruit</text:p>
+<text:p text:style-name="Definition_20_Definition_20_Tight">orange
+fruit</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">bank</text:p>
<text:p text:style-name="Text_20_body">Multiple definitions, loose:</text:p>
<text:p text:style-name="Definition_20_Term">apple</text:p>
@@ -1233,31 +1265,39 @@
<text:p text:style-name="Definition_20_Term">orange</text:p>
<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>
<text:p text:style-name="Definition_20_Definition">bank</text:p>
-<text:p text:style-name="Text_20_body">Blank line after term, indented marker, alternate markers:</text:p>
+<text:p text:style-name="Text_20_body">Blank line after term, indented marker,
+alternate markers:</text:p>
<text:p text:style-name="Definition_20_Term">apple</text:p>
<text:p text:style-name="Definition_20_Definition">red fruit</text:p>
<text:p text:style-name="Definition_20_Definition">computer</text:p>
<text:p text:style-name="Definition_20_Term">orange</text:p>
-<text:p text:style-name="Definition_20_Definition">orange fruit</text:p><text:list text:style-name="L25">
- <text:list-item>
- <text:p text:style-name="P44">sublist</text:p>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="P44">sublist</text:p>
- </text:list-item>
- </text:list>
-<text:h text:style-name="Heading_20_1" text:outline-level="1">HTML Blocks</text:h>
+<text:p text:style-name="Definition_20_Definition">orange
+fruit</text:p><text:list text:style-name="L25">
+ <text:list-item>
+ <text:p text:style-name="P44">sublist</text:p>
+ </text:list-item>
+ <text:list-item>
+ <text:p text:style-name="P44">sublist</text:p>
+ </text:list-item>
+</text:list>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">HTML
+Blocks</text:h>
<text:p text:style-name="Text_20_body">Simple block on one line:</text:p>
<text:p text:style-name="Text_20_body">foo</text:p>
-<text:p text:style-name="Text_20_body">And nested without indentation:</text:p>
+<text:p text:style-name="Text_20_body">And nested without
+indentation:</text:p>
<text:p text:style-name="Text_20_body">foo</text:p>
<text:p text:style-name="Text_20_body">bar</text:p>
-<text:p text:style-name="Text_20_body">Interpreted markdown in a table:</text:p>
-<text:p text:style-name="Text_20_body">This is <text:span text:style-name="T5">emphasized</text:span></text:p>
-<text:p text:style-name="Text_20_body">And this is <text:span text:style-name="T6">strong</text:span></text:p>
+<text:p text:style-name="Text_20_body">Interpreted markdown in a
+table:</text:p>
+<text:p text:style-name="Text_20_body">This is
+<text:span text:style-name="T5">emphasized</text:span></text:p>
+<text:p text:style-name="Text_20_body">And this is
+<text:span text:style-name="T6">strong</text:span></text:p>
<text:p text:style-name="Text_20_body">Here&#8217;s a simple block:</text:p>
<text:p text:style-name="Text_20_body">foo</text:p>
-<text:p text:style-name="Text_20_body">This should be a code block, though:</text:p>
+<text:p text:style-name="Text_20_body">This should be a code block,
+though:</text:p>
<text:p text:style-name="P45">&lt;div&gt;</text:p>
<text:p text:style-name="P46"><text:s text:c="4" />foo</text:p>
<text:p text:style-name="P47">&lt;/div&gt;</text:p>
@@ -1265,43 +1305,88 @@
<text:p text:style-name="P48">&lt;div&gt;foo&lt;/div&gt;</text:p>
<text:p text:style-name="Text_20_body">Now, nested:</text:p>
<text:p text:style-name="Text_20_body">foo</text:p>
-<text:p text:style-name="Text_20_body">This should just be an HTML comment:</text:p>
+<text:p text:style-name="Text_20_body">This should just be an HTML
+comment:</text:p>
<text:p text:style-name="Text_20_body">Multiline:</text:p>
<text:p text:style-name="Text_20_body">Code block:</text:p>
<text:p text:style-name="P49">&lt;!-- Comment --&gt;</text:p>
-<text:p text:style-name="Text_20_body">Just plain comment, with trailing spaces on the line:</text:p>
+<text:p text:style-name="Text_20_body">Just plain comment, with trailing
+spaces on the line:</text:p>
<text:p text:style-name="Text_20_body">Code:</text:p>
<text:p text:style-name="P50">&lt;hr /&gt;</text:p>
<text:p text:style-name="Text_20_body">Hr&#8217;s:</text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Inline Markup</text:h>
-<text:p text:style-name="Text_20_body">This is <text:span text:style-name="T7">emphasized</text:span>, and so <text:span text:style-name="T8">is</text:span><text:span text:style-name="T9"> </text:span><text:span text:style-name="T10">this</text:span>.</text:p>
-<text:p text:style-name="Text_20_body">This is <text:span text:style-name="T11">strong</text:span>, and so <text:span text:style-name="T12">is</text:span><text:span text:style-name="T13"> </text:span><text:span text:style-name="T14">this</text:span>.</text:p>
-<text:p text:style-name="Text_20_body">An <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="T15">emphasized</text:span><text:span text:style-name="T16"> </text:span><text:span text:style-name="T17">link</text:span></text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:span text:style-name="T18">This</text:span><text:span text:style-name="T19"> </text:span><text:span text:style-name="T20">is</text:span><text:span text:style-name="T21"> </text:span><text:span text:style-name="T22">strong</text:span><text:span text:style-name="T23"> </text:span><text:span text:style-name="T24">and</text:span><text:span text:style-name="T25"> </text:span><text:span text:style-name="T26">em</text:span><text:span text:style-name="T27">.</text:span></text:p>
-<text:p text:style-name="Text_20_body">So is <text:span text:style-name="T28">this</text:span> word.</text:p>
-<text:p text:style-name="Text_20_body"><text:span text:style-name="T29">This</text:span><text:span text:style-name="T30"> </text:span><text:span text:style-name="T31">is</text:span><text:span text:style-name="T32"> </text:span><text:span text:style-name="T33">strong</text:span><text:span text:style-name="T34"> </text:span><text:span text:style-name="T35">and</text:span><text:span text:style-name="T36"> </text:span><text:span text:style-name="T37">em</text:span><text:span text:style-name="T38">.</text:span></text:p>
-<text:p text:style-name="Text_20_body">So is <text:span text:style-name="T39">this</text:span> word.</text:p>
-<text:p text:style-name="Text_20_body">This is code: <text:span text:style-name="Teletype">&gt;</text:span>, <text:span text:style-name="Teletype">$</text:span>, <text:span text:style-name="Teletype">\</text:span>, <text:span text:style-name="Teletype">\$</text:span>, <text:span text:style-name="Teletype">&lt;html&gt;</text:span>.</text:p>
-<text:p text:style-name="Text_20_body"><text:span text:style-name="T40">This</text:span><text:span text:style-name="T41"> </text:span><text:span text:style-name="T42">is</text:span><text:span text:style-name="T43"> </text:span><text:span text:style-name="T44">strikeout</text:span><text:span text:style-name="T45">.</text:span></text:p>
-<text:p text:style-name="Text_20_body">Superscripts: a<text:span text:style-name="T46">bc</text:span>d a<text:span text:style-name="T47">hello</text:span> a<text:span text:style-name="T48">hello</text:span><text:span text:style-name="T49"> </text:span><text:span text:style-name="T50">there</text:span>.</text:p>
-<text:p text:style-name="Text_20_body">Subscripts: H<text:span text:style-name="T51">2</text:span>O, H<text:span text:style-name="T52">23</text:span>O, H<text:span text:style-name="T53">many</text:span><text:span text:style-name="T54"> </text:span><text:span text:style-name="T55">of</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T57">them</text:span>O.</text:p>
-<text:p text:style-name="Text_20_body">These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.</text:p>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Inline
+Markup</text:h>
+<text:p text:style-name="Text_20_body">This is
+<text:span text:style-name="T7">emphasized</text:span>, and so
+<text:span text:style-name="T8">is</text:span><text:span text:style-name="T9">
+</text:span><text:span text:style-name="T10">this</text:span>.</text:p>
+<text:p text:style-name="Text_20_body">This is
+<text:span text:style-name="T11">strong</text:span>, and so
+<text:span text:style-name="T12">is</text:span><text:span text:style-name="T13">
+</text:span><text:span text:style-name="T14">this</text:span>.</text:p>
+<text:p text:style-name="Text_20_body">An
+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="T15">emphasized</text:span><text:span text:style-name="T16">
+</text:span><text:span text:style-name="T17">link</text:span></text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:span text:style-name="T18">This</text:span><text:span text:style-name="T19">
+</text:span><text:span text:style-name="T20">is</text:span><text:span text:style-name="T21">
+</text:span><text:span text:style-name="T22">strong</text:span><text:span text:style-name="T23">
+</text:span><text:span text:style-name="T24">and</text:span><text:span text:style-name="T25">
+</text:span><text:span text:style-name="T26">em</text:span><text:span text:style-name="T27">.</text:span></text:p>
+<text:p text:style-name="Text_20_body">So is
+<text:span text:style-name="T28">this</text:span> word.</text:p>
+<text:p text:style-name="Text_20_body"><text:span text:style-name="T29">This</text:span><text:span text:style-name="T30">
+</text:span><text:span text:style-name="T31">is</text:span><text:span text:style-name="T32">
+</text:span><text:span text:style-name="T33">strong</text:span><text:span text:style-name="T34">
+</text:span><text:span text:style-name="T35">and</text:span><text:span text:style-name="T36">
+</text:span><text:span text:style-name="T37">em</text:span><text:span text:style-name="T38">.</text:span></text:p>
+<text:p text:style-name="Text_20_body">So is
+<text:span text:style-name="T39">this</text:span> word.</text:p>
+<text:p text:style-name="Text_20_body">This is code:
+<text:span text:style-name="Teletype">&gt;</text:span>,
+<text:span text:style-name="Teletype">$</text:span>,
+<text:span text:style-name="Teletype">\</text:span>,
+<text:span text:style-name="Teletype">\$</text:span>,
+<text:span text:style-name="Teletype">&lt;html&gt;</text:span>.</text:p>
+<text:p text:style-name="Text_20_body"><text:span text:style-name="T40">This</text:span><text:span text:style-name="T41">
+</text:span><text:span text:style-name="T42">is</text:span><text:span text:style-name="T43">
+</text:span><text:span text:style-name="T44">strikeout</text:span><text:span text:style-name="T45">.</text:span></text:p>
+<text:p text:style-name="Text_20_body">Superscripts:
+a<text:span text:style-name="T46">bc</text:span>d
+a<text:span text:style-name="T47">hello</text:span>
+a<text:span text:style-name="T48">hello</text:span><text:span text:style-name="T49"> </text:span><text:span text:style-name="T50">there</text:span>.</text:p>
+<text:p text:style-name="Text_20_body">Subscripts:
+H<text:span text:style-name="T51">2</text:span>O,
+H<text:span text:style-name="T52">23</text:span>O,
+H<text:span text:style-name="T53">many</text:span><text:span text:style-name="T54"> </text:span><text:span text:style-name="T55">of</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T57">them</text:span>O.</text:p>
+<text:p text:style-name="Text_20_body">These should not be superscripts or
+subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Smart quotes, ellipses, dashes</text:h>
-<text:p text:style-name="Text_20_body">&#8220;Hello,&#8221; said the spider. &#8220;&#8216;Shelob&#8217; is my name.&#8221;</text:p>
-<text:p text:style-name="Text_20_body">&#8216;A&#8217;, &#8216;B&#8217;, and &#8216;C&#8217; are letters.</text:p>
-<text:p text:style-name="Text_20_body">&#8216;Oak,&#8217; &#8216;elm,&#8217; and &#8216;beech&#8217; are names of trees. So is &#8216;pine.&#8217;</text:p>
-<text:p text:style-name="Text_20_body">&#8216;He said, &#8220;I want to go.&#8221;&#8217; Were you alive in the 70&#8217;s?</text:p>
-<text:p text:style-name="Text_20_body">Here is some quoted &#8216;<text:span text:style-name="Teletype">code</text:span>&#8217; and a &#8220;<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted link</text:span></text:a>&#8221;.</text:p>
-<text:p text:style-name="Text_20_body">Some dashes: one&#8212;two &#8212; three&#8212;four &#8212; five.</text:p>
-<text:p text:style-name="Text_20_body">Dashes between numbers: 5&#8211;7, 255&#8211;66, 1987&#8211;1999.</text:p>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Smart quotes,
+ellipses, dashes</text:h>
+<text:p text:style-name="Text_20_body">&#8220;Hello,&#8221; said the spider.
+&#8220;&#8216;Shelob&#8217; is my name.&#8221;</text:p>
+<text:p text:style-name="Text_20_body">&#8216;A&#8217;, &#8216;B&#8217;, and
+&#8216;C&#8217; are letters.</text:p>
+<text:p text:style-name="Text_20_body">&#8216;Oak,&#8217; &#8216;elm,&#8217;
+and &#8216;beech&#8217; are names of trees. So is &#8216;pine.&#8217;</text:p>
+<text:p text:style-name="Text_20_body">&#8216;He said, &#8220;I want to
+go.&#8221;&#8217; Were you alive in the 70&#8217;s?</text:p>
+<text:p text:style-name="Text_20_body">Here is some quoted
+&#8216;<text:span text:style-name="Teletype">code</text:span>&#8217; and a
+&#8220;<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted
+link</text:span></text:a>&#8221;.</text:p>
+<text:p text:style-name="Text_20_body">Some dashes: one&#8212;two &#8212;
+three&#8212;four &#8212; five.</text:p>
+<text:p text:style-name="Text_20_body">Dashes between numbers: 5&#8211;7,
+255&#8211;66, 1987&#8211;1999.</text:p>
<text:p text:style-name="Text_20_body">Ellipses&#8230;and&#8230;and&#8230;.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">LaTeX</text:h>
<text:list text:style-name="L26">
<text:list-item>
- <text:p text:style-name="P51"><text:span text:style-name="Teletype">\cite[22-23]{smith.1899}</text:span></text:p>
+ <text:p text:style-name="P51"></text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P51">2 + 2 = 4</text:p>
@@ -1319,35 +1404,43 @@
<text:p text:style-name="P51"><text:span text:style-name="T60">p</text:span>-Tree</text:p>
</text:list-item>
<text:list-item>
- <text:p text:style-name="P51">Here&#8217;s some display math: $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</text:p>
+ <text:p text:style-name="P51">Here&#8217;s some display math:
+ $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</text:p>
</text:list-item>
<text:list-item>
- <text:p text:style-name="P51">Here&#8217;s one that has a line break in it: α + ω × <text:span text:style-name="T61">x</text:span><text:span text:style-name="T62">2</text:span>.</text:p>
+ <text:p text:style-name="P51">Here&#8217;s one that has a line break in
+ it:
+ α + ω × <text:span text:style-name="T61">x</text:span><text:span text:style-name="T62">2</text:span>.</text:p>
</text:list-item>
</text:list>
<text:p text:style-name="Text_20_body">These shouldn&#8217;t be math:</text:p>
<text:list text:style-name="L27">
<text:list-item>
- <text:p text:style-name="P52">To get the famous equation, write <text:span text:style-name="Teletype">$e = mc^2$</text:span>.</text:p>
+ <text:p text:style-name="P52">To get the famous equation, write
+ <text:span text:style-name="Teletype">$e = mc^2$</text:span>.</text:p>
</text:list-item>
<text:list-item>
- <text:p text:style-name="P52">$22,000 is a <text:span text:style-name="T63">lot</text:span> of money. So is $34,000. (It worked if &#8220;lot&#8221; is emphasized.)</text:p>
+ <text:p text:style-name="P52">$22,000 is a
+ <text:span text:style-name="T63">lot</text:span> of money. So is $34,000.
+ (It worked if &#8220;lot&#8221; is emphasized.)</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P52">Shoes ($20) and socks ($5).</text:p>
</text:list-item>
<text:list-item>
- <text:p text:style-name="P52">Escaped <text:span text:style-name="Teletype">$</text:span>: $73 <text:span text:style-name="T64">this</text:span><text:span text:style-name="T65"> </text:span><text:span text:style-name="T66">should</text:span><text:span text:style-name="T67"> </text:span><text:span text:style-name="T68">be</text:span><text:span text:style-name="T69"> </text:span><text:span text:style-name="T70">emphasized</text:span> 23$.</text:p>
+ <text:p text:style-name="P52">Escaped
+ <text:span text:style-name="Teletype">$</text:span>: $73
+ <text:span text:style-name="T64">this</text:span><text:span text:style-name="T65">
+ </text:span><text:span text:style-name="T66">should</text:span><text:span text:style-name="T67">
+ </text:span><text:span text:style-name="T68">be</text:span><text:span text:style-name="T69">
+ </text:span><text:span text:style-name="T70">emphasized</text:span>
+ 23$.</text:p>
</text:list-item>
</text:list>
<text:p text:style-name="Text_20_body">Here&#8217;s a LaTeX table:</text:p>
-<text:p text:style-name="Text_20_body"><text:span text:style-name="Teletype">\begin{tabular}{|l|l|}\hline
-Animal &amp; Number \\ \hline
-Dog <text:s text:c="3" />&amp; 2 <text:s text:c="5" />\\
-Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
-\end{tabular}</text:span></text:p>
<text:p text:style-name="Horizontal_20_Line" />
-<text:h text:style-name="Heading_20_1" text:outline-level="1">Special Characters</text:h>
+<text:h text:style-name="Heading_20_1" text:outline-level="1">Special
+Characters</text:h>
<text:p text:style-name="Text_20_body">Here is some unicode:</text:p>
<text:list text:style-name="L28">
<text:list-item>
@@ -1366,8 +1459,10 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
<text:p text:style-name="P53">copyright: ©</text:p>
</text:list-item>
</text:list>
-<text:p text:style-name="Text_20_body">AT&amp;T has an ampersand in their name.</text:p>
-<text:p text:style-name="Text_20_body">AT&amp;T is another way to write it.</text:p>
+<text:p text:style-name="Text_20_body">AT&amp;T has an ampersand in their
+name.</text:p>
+<text:p text:style-name="Text_20_body">AT&amp;T is another way to write
+it.</text:p>
<text:p text:style-name="Text_20_body">This &amp; that.</text:p>
<text:p text:style-name="Text_20_body">4 &lt; 5.</text:p>
<text:p text:style-name="Text_20_body">6 &gt; 5.</text:p>
@@ -1390,35 +1485,63 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Links</text:h>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Explicit</text:h>
-<text:p text:style-name="Text_20_body">Just a <text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">URL</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title"><text:span text:style-name="Definition">URL and title</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by two spaces"><text:span text:style-name="Definition">URL and title</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by a tab"><text:span text:style-name="Definition">URL and title</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with &quot;quotes&quot; in it"><text:span text:style-name="Definition">URL and title</text:span></text:a></text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with single quotes"><text:span text:style-name="Definition">URL and title</text:span></text:a></text:p>
+<text:p text:style-name="Text_20_body">Just a
+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">URL</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title"><text:span text:style-name="Definition">URL
+and title</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by two spaces"><text:span text:style-name="Definition">URL
+and title</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by a tab"><text:span text:style-name="Definition">URL
+and title</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with &quot;quotes&quot; in it"><text:span text:style-name="Definition">URL
+and title</text:span></text:a></text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with single quotes"><text:span text:style-name="Definition">URL
+and title</text:span></text:a></text:p>
<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/with_underscore" office:name=""><text:span text:style-name="Definition">with_underscore</text:span></text:a></text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">Email link</text:span></text:a></text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">Email
+link</text:span></text:a></text:p>
<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="" office:name=""><text:span text:style-name="Definition">Empty</text:span></text:a>.</text:p>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Reference</text:h>
-<text:p text:style-name="Text_20_body">Foo <text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Foo <text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Foo <text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">With <text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">embedded [brackets]</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">b</text:span></text:a> by itself should be a link.</text:p>
-<text:p text:style-name="Text_20_body">Indented <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">once</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Indented <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">twice</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Indented <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Foo
+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Foo
+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Foo
+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">With
+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">embedded
+[brackets]</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">b</text:span></text:a>
+by itself should be a link.</text:p>
+<text:p text:style-name="Text_20_body">Indented
+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">once</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Indented
+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">twice</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Indented
+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">This should [not][] be a link.</text:p>
<text:p text:style-name="P54">[not]: /url</text:p>
-<text:p text:style-name="Text_20_body">Foo <text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Foo <text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>
-<text:h text:style-name="Heading_20_2" text:outline-level="2">With ampersands</text:h>
-<text:p text:style-name="Text_20_body">Here&#8217;s a <text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link with an ampersand in the URL</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Here&#8217;s a link with an amersand in the link text: <text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Here&#8217;s an <text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline link</text:span></text:a>.</text:p>
-<text:p text:style-name="Text_20_body">Here&#8217;s an <text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline link in pointy braces</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Foo
+<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Foo
+<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>
+<text:h text:style-name="Heading_20_2" text:outline-level="2">With
+ampersands</text:h>
+<text:p text:style-name="Text_20_body">Here&#8217;s a
+<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link
+with an ampersand in the URL</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Here&#8217;s a link with an amersand in
+the link text:
+<text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Here&#8217;s an
+<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
+link</text:span></text:a>.</text:p>
+<text:p text:style-name="Text_20_body">Here&#8217;s an
+<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
+link in pointy braces</text:span></text:a>.</text:p>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Autolinks</text:h>
-<text:p text:style-name="Text_20_body">With an ampersand: <text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/?foo=1&amp;bar=2</text:span></text:span></text:a></text:p>
+<text:p text:style-name="Text_20_body">With an ampersand:
+<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/?foo=1&amp;bar=2</text:span></text:span></text:a></text:p>
<text:list text:style-name="L29">
<text:list-item>
<text:p text:style-name="P55">In a list?</text:p>
@@ -1430,25 +1553,55 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
<text:p text:style-name="P55">It should.</text:p>
</text:list-item>
</text:list>
-<text:p text:style-name="Text_20_body">An e-mail address: <text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">nobody@nowhere.net</text:span></text:span></text:a></text:p>
-<text:p text:style-name="P56">Blockquoted: <text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p>
-<text:p text:style-name="Text_20_body">Auto-links should not occur here: <text:span text:style-name="Teletype">&lt;http://example.com/&gt;</text:span></text:p>
+<text:p text:style-name="Text_20_body">An e-mail address:
+<text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">nobody@nowhere.net</text:span></text:span></text:a></text:p>
+<text:p text:style-name="P56">Blockquoted:
+<text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p>
+<text:p text:style-name="Text_20_body">Auto-links should not occur here:
+<text:span text:style-name="Teletype">&lt;http://example.com/&gt;</text:span></text:p>
<text:p text:style-name="P57">or here: &lt;http://example.com/&gt;</text:p>
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Images</text:h>
-<text:p text:style-name="Text_20_body">From &#8220;Voyage dans la Lune&#8221; by Georges Melies (1902):</text:p>
+<text:p text:style-name="Text_20_body">From &#8220;Voyage dans la Lune&#8221;
+by Georges Melies (1902):</text:p>
<text:p text:style-name="Text_20_body"><draw:frame><draw:image xlink:href="lalune.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame></text:p>
-<text:p text:style-name="Text_20_body">Here is a movie <draw:frame><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame> icon.</text:p>
+<text:p text:style-name="Text_20_body">Here is a movie
+<draw:frame><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame>
+icon.</text:p>
<text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Footnotes</text:h>
-<text:p text:style-name="Text_20_body">Here is a footnote reference,<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.</text:p></text:note-body></text:note> and another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here&#8217;s the long note. This one contains multiple blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are indented to show that they belong to the footnote (as with list items).</text:p><text:p text:style-name="P58"><text:s text:c="2" />{ &lt;code&gt; }</text:p><text:p text:style-name="Footnote">If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.</text:p></text:note-body></text:note> This should <text:span text:style-name="T71">not</text:span> be a footnote reference, because it contains a space.[^my note] Here is an inline note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body><text:p text:style-name="Footnote">This is <text:span text:style-name="T72">easier</text:span> to type. Inline notes may contain <text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a> and <text:span text:style-name="Teletype">]</text:span> verbatim characters, as well as [bracketed text].</text:p></text:note-body></text:note></text:p>
-<text:p text:style-name="P59">Notes can go in quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body><text:p text:style-name="Footnote">In quote.</text:p></text:note-body></text:note></text:p>
+<text:p text:style-name="Text_20_body">Here is a footnote
+reference,<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here
+is the footnote. It can go anywhere after the footnote reference. It need not
+be placed at the end of the document.</text:p></text:note-body></text:note>
+and
+another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here&#8217;s
+the long note. This one contains multiple
+blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are
+indented to show that they belong to the footnote (as with list
+items).</text:p><text:p text:style-name="P58"><text:s text:c="2" />{ &lt;code&gt; }</text:p><text:p text:style-name="Footnote">If
+you want, you can indent every line, but you can also be lazy and just indent
+the first line of each block.</text:p></text:note-body></text:note> This
+should <text:span text:style-name="T71">not</text:span> be a footnote
+reference, because it contains a space.[^my note] Here is an inline
+note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body><text:p text:style-name="Footnote">This
+is <text:span text:style-name="T72">easier</text:span> to type. Inline notes
+may contain
+<text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a>
+and <text:span text:style-name="Teletype">]</text:span> verbatim characters,
+as well as [bracketed text].</text:p></text:note-body></text:note></text:p>
+<text:p text:style-name="P59">Notes can go in
+quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body><text:p text:style-name="Footnote">In
+quote.</text:p></text:note-body></text:note></text:p>
<text:list text:style-name="L30">
<text:list-item>
- <text:p text:style-name="P60">And in list items.<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>5</text:note-citation><text:note-body><text:p text:style-name="Footnote">In list.</text:p></text:note-body></text:note></text:p>
+ <text:p text:style-name="P60">And in list
+ items.<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>5</text:note-citation><text:note-body><text:p text:style-name="Footnote">In
+ list.</text:p></text:note-body></text:note></text:p>
</text:list-item>
</text:list>
-<text:p text:style-name="Text_20_body">This paragraph should not be part of the note, as it is not indented.</text:p>
+<text:p text:style-name="Text_20_body">This paragraph should not be part of
+the note, as it is not indented.</text:p>
</office:text>
</office:body>
</office:document-content>
diff --git a/tests/writer.org b/tests/writer.org
new file mode 100644
index 000000000..642b2a3ef
--- /dev/null
+++ b/tests/writer.org
@@ -0,0 +1,774 @@
+#+TITLE: Pandoc Test Suite
+
+#+AUTHOR: John MacFarlane; Anonymous
+#+DATE: 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 [[/url][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:
+
+#+BEGIN_QUOTE
+ This is a block quote. It is pretty short.
+#+END_QUOTE
+
+#+BEGIN_QUOTE
+ Code in a block quote:
+
+ #+BEGIN_EXAMPLE
+ sub status {
+ print "working";
+ }
+ #+END_EXAMPLE
+
+ A list:
+
+ 1. item one
+ 2. item two
+
+ Nested block quotes:
+
+ #+BEGIN_QUOTE
+ nested
+ #+END_QUOTE
+
+ #+BEGIN_QUOTE
+ nested
+ #+END_QUOTE
+#+END_QUOTE
+
+This should not be a block quote: 2 > 1.
+
+And a following paragraph.
+
+--------------
+
+* Code Blocks
+
+Code:
+
+#+BEGIN_EXAMPLE
+ ---- (should be four hyphens)
+
+ sub status {
+ print "working";
+ }
+
+ this code block is indented by one tab
+#+END_EXAMPLE
+
+And:
+
+#+BEGIN_EXAMPLE
+ this code block is indented by two tabs
+
+ These should not be escaped: \$ \\ \> \[ \{
+#+END_EXAMPLE
+
+--------------
+
+* 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
+
+ 4. sublist with roman numerals, starting with 4
+ 5. more items
+
+ 1) a subsublist
+ 2) a subsublist
+
+Nesting:
+
+1. Upper Alpha
+
+ 1. Upper Roman.
+
+ 6) Decimal start with 6
+
+ 3) 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
+
+ #+BEGIN_EXAMPLE
+ { orange code block }
+ #+END_EXAMPLE
+
+ #+BEGIN_QUOTE
+ orange block quote
+ #+END_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:
+
+#+BEGIN_HTML
+ <div>
+#+END_HTML
+
+foo
+
+#+BEGIN_HTML
+ </div>
+#+END_HTML
+
+And nested without indentation:
+
+#+BEGIN_HTML
+ <div>
+ <div>
+ <div>
+#+END_HTML
+
+foo
+
+#+BEGIN_HTML
+ </div>
+ </div>
+ <div>
+#+END_HTML
+
+bar
+
+#+BEGIN_HTML
+ </div>
+ </div>
+#+END_HTML
+
+Interpreted markdown in a table:
+
+#+BEGIN_HTML
+ <table>
+ <tr>
+ <td>
+#+END_HTML
+
+This is /emphasized/
+
+#+BEGIN_HTML
+ </td>
+ <td>
+#+END_HTML
+
+And this is *strong*
+
+#+BEGIN_HTML
+ </td>
+ </tr>
+ </table>
+
+ <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
+#+END_HTML
+
+Here's a simple block:
+
+#+BEGIN_HTML
+ <div>
+
+#+END_HTML
+
+foo
+
+#+BEGIN_HTML
+ </div>
+#+END_HTML
+
+This should be a code block, though:
+
+#+BEGIN_EXAMPLE
+ <div>
+ foo
+ </div>
+#+END_EXAMPLE
+
+As should this:
+
+#+BEGIN_EXAMPLE
+ <div>foo</div>
+#+END_EXAMPLE
+
+Now, nested:
+
+#+BEGIN_HTML
+ <div>
+ <div>
+ <div>
+
+#+END_HTML
+
+foo
+
+#+BEGIN_HTML
+ </div>
+ </div>
+ </div>
+#+END_HTML
+
+This should just be an HTML comment:
+
+#+BEGIN_HTML
+ <!-- Comment -->
+#+END_HTML
+
+Multiline:
+
+#+BEGIN_HTML
+ <!--
+ Blah
+ Blah
+ -->
+
+ <!--
+ This is another comment.
+ -->
+#+END_HTML
+
+Code block:
+
+#+BEGIN_EXAMPLE
+ <!-- Comment -->
+#+END_EXAMPLE
+
+Just plain comment, with trailing spaces on the line:
+
+#+BEGIN_HTML
+ <!-- foo -->
+#+END_HTML
+
+Code:
+
+#+BEGIN_EXAMPLE
+ <hr />
+#+END_EXAMPLE
+
+Hr's:
+
+#+BEGIN_HTML
+ <hr>
+
+ <hr />
+
+ <hr />
+
+ <hr>
+
+ <hr />
+
+ <hr />
+
+ <hr class="foo" id="bar" />
+
+ <hr class="foo" id="bar" />
+
+ <hr class="foo" id="bar">
+#+END_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>=.
+
++This is /strikeout/.+
+
+Superscripts: a^{bc}d a^{/hello/} a^{hello there}.
+
+Subscripts: H_{2}O, H_{23}O, H_{many of them}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
+
+- \cite[22-23]{smith.1899}
+- $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:
+
+\begin{tabular}{|l|l|}\hline
+Animal & Number \\ \hline
+Dog & 2 \\
+Cat & 1 \\ \hline
+\end{tabular}
+
+--------------
+
+* 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.
+
+#+BEGIN_EXAMPLE
+ [not]: /url
+#+END_EXAMPLE
+
+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: [[mailto:nobody@nowhere.net][=nobody@nowhere.net=]]
+
+#+BEGIN_QUOTE
+ Blockquoted: [[http://example.com/]]
+#+END_QUOTE
+
+Auto-links should not occur here: =<http://example.com/>=
+
+#+BEGIN_EXAMPLE
+ or here: <http://example.com/>
+#+END_EXAMPLE
+
+--------------
+
+* Images
+
+From "Voyage dans la Lune" by Georges Melies (1902):
+
+#+CAPTION: lalune
+
+[[lalune.jpg]]
+Here is a movie [[movie.jpg]] 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]
+
+#+BEGIN_QUOTE
+ Notes can go in quotes. [4]
+#+END_QUOTE
+
+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).
+
+ #+BEGIN_EXAMPLE
+ { <code> }
+ #+END_EXAMPLE
+
+ 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
+ [[http://google.com][links]] and =]= verbatim characters, as well as
+ [bracketed text].
+
+[4] In quote.
+
+[5] In list.
diff --git a/tests/writer.plain b/tests/writer.plain
index bc6d25467..cc61916d2 100644
--- a/tests/writer.plain
+++ b/tests/writer.plain
@@ -2,9 +2,8 @@ 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.
-
+This is a set of tests for pandoc. Most of them are adapted from John Gruber’s
+markdown test suite.
* * * * *
@@ -35,7 +34,6 @@ Level 2
with no blank line
-
* * * * *
Paragraphs
@@ -43,16 +41,15 @@ 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.
+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
@@ -63,27 +60,26 @@ 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
@@ -92,19 +88,18 @@ 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: \$ \\ \> \[ \{
+ These should not be escaped: \$ \\ \> \[ \{
* * * * *
@@ -128,7 +123,6 @@ Asterisks loose:
- asterisk 3
-
Pluses tight:
- Plus 1
@@ -143,7 +137,6 @@ Pluses loose:
- Plus 3
-
Minuses tight:
- Minus 1
@@ -158,7 +151,6 @@ Minuses loose:
- Minus 3
-
Ordered
-------
@@ -182,7 +174,6 @@ Loose using tabs:
3. Third
-
and using spaces:
1. One
@@ -191,19 +182,16 @@ and using spaces:
3. Three
-
Multiple paragraphs:
1. Item 1, graf one.
- Item 1. graf two. The quick brown fox jumped over the lazy dog’s
- back.
+ Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.
2. Item 2.
3. Item 3.
-
Nested
------
@@ -211,8 +199,6 @@ Nested
- Tab
- Tab
-
-
Here’s another:
1. First
@@ -235,7 +221,6 @@ Same thing but with paragraphs:
3. Third
-
Tabs and spaces
---------------
@@ -247,8 +232,6 @@ Tabs and spaces
- this is an example list item indented with spaces
-
-
Fancy list markers
------------------
@@ -262,8 +245,6 @@ Fancy list markers
(A) a subsublist
(B) a subsublist
-
-
Nesting:
A. Upper Alpha
@@ -271,23 +252,18 @@ A. Upper Alpha
(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
@@ -322,7 +298,6 @@ orange
banana
yellow fruit
-
Multiple blocks with italics:
apple
@@ -337,7 +312,6 @@ orange
orange block quote
-
Multiple definitions, tight:
apple
@@ -359,7 +333,6 @@ orange
bank
-
Blank line after term, indented marker, alternate markers:
apple
@@ -373,7 +346,6 @@ orange
1. sublist
2. sublist
-
HTML Blocks
===========
@@ -420,7 +392,6 @@ Code:
Hr’s:
-
* * * * *
Inline Markup
@@ -448,9 +419,8 @@ 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.
-
+These should not be superscripts or subscripts, because of the unescaped
+spaces: a^b c^d, a~b c~d.
* * * * *
@@ -473,7 +443,6 @@ Dashes between numbers: 5–7, 255–66, 1987–1999.
Ellipses…and…and….
-
* * * * *
LaTeX
@@ -487,22 +456,18 @@ LaTeX
- 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.
+- 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.)
+- $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
@@ -558,7 +523,6 @@ Plus: +
Minus: -
-
* * * * *
Links
@@ -640,7 +604,6 @@ Auto-links should not occur here: <http://example.com/>
or here: <http://example.com/>
-
* * * * *
Images
@@ -648,48 +611,41 @@ Images
From “Voyage dans la Lune” by Georges Melies (1902):
+[lalune]
-
-Here is a movie icon.
-
+Here is a movie [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]
+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.
+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.
+[^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.
+[^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).
+ 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.
+ 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].
+[^3]: This is easier to type. Inline notes may contain links and ] verbatim
+ characters, as well as [bracketed text].
-[^4]:
- In quote.
+[^4]: In quote.
-[^5]:
- In list.
+[^5]: In list.
diff --git a/tests/writer.rst b/tests/writer.rst
index dff04bc81..189886a87 100644
--- a/tests/writer.rst
+++ b/tests/writer.rst
@@ -9,8 +9,8 @@ Pandoc Test Suite
.. role:: math(raw)
:format: html latex
-This is a set of tests for pandoc. Most of them are adapted from
-John Gruber’s markdown test suite.
+This is a set of tests for pandoc. Most of them are adapted from John Gruber’s
+markdown test suite.
--------------
@@ -52,9 +52,9 @@ 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.
+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.
@@ -70,7 +70,6 @@ E-mail style:
This is a block quote. It is pretty short.
-
Code in a block quote:
::
@@ -81,7 +80,6 @@ E-mail style:
A list:
-
1. item one
2. item two
@@ -89,11 +87,8 @@ E-mail style:
nested
-
nested
-
-
This should not be a block quote: 2 > 1.
And a following paragraph.
@@ -108,11 +103,11 @@ Code:
::
---- (should be four hyphens)
-
+
sub status {
print "working";
}
-
+
this code block is indented by one tab
And:
@@ -120,7 +115,7 @@ And:
::
this code block is indented by two tabs
-
+
These should not be escaped: \$ \\ \> \[ \{
--------------
@@ -133,123 +128,101 @@ 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.
+ 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
+ - Tab
+ - Tab
Here’s another:
-
1. First
2. Second:
-
+
- Fee
- Fie
- Foe
@@ -258,74 +231,57 @@ Here’s another:
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
+ I. Upper Roman.
+ (6) Decimal start with 6
+ c) Lower alpha with paren
Autonumbering:
-
#. Autonumber.
#. More.
-
- #. Nested.
+ #. Nested.
Should not be a list item:
@@ -367,7 +323,6 @@ orange
banana
yellow fruit
-
Multiple blocks with italics:
*apple*
@@ -384,8 +339,6 @@ Multiple blocks with italics:
orange block quote
-
-
Multiple definitions, tight:
apple
@@ -407,7 +360,6 @@ orange
bank
-
Blank line after term, indented marker, alternate markers:
apple
@@ -418,36 +370,32 @@ apple
orange
orange fruit
-
1. sublist
2. sublist
-
HTML Blocks
===========
Simple block on one line:
-
.. raw:: html
<div>
-
+
foo
.. raw:: html
</div>
-
-And nested without indentation:
+And nested without indentation:
.. raw:: html
<div>
<div>
<div>
-
+
foo
.. raw:: html
@@ -455,30 +403,29 @@ foo
</div>
</div>
<div>
-
+
bar
.. raw:: html
</div>
</div>
-
-Interpreted markdown in a table:
+Interpreted markdown in a table:
.. raw:: html
<table>
<tr>
<td>
-
+
This is *emphasized*
.. raw:: html
</td>
<td>
-
+
And this is **strong**
.. raw:: html
@@ -486,23 +433,22 @@ And this is **strong**
</td>
</tr>
</table>
-
+
<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
-
-Here’s a simple block:
+Here’s a simple block:
.. raw:: html
<div>
-
+
foo
.. raw:: html
</div>
-
+
This should be a code block, though:
::
@@ -519,14 +465,13 @@ As should this:
Now, nested:
-
.. raw:: html
<div>
<div>
<div>
-
+
foo
.. raw:: html
@@ -534,16 +479,14 @@ foo
</div>
</div>
</div>
-
-This should just be an HTML comment:
+This should just be an HTML comment:
.. raw:: html
<!-- Comment -->
-
-Multiline:
+Multiline:
.. raw:: html
@@ -551,11 +494,11 @@ Multiline:
Blah
Blah
-->
-
+
<!--
This is another comment.
-->
-
+
Code block:
::
@@ -564,11 +507,10 @@ Code block:
Just plain comment, with trailing spaces on the line:
-
.. raw:: html
<!-- foo -->
-
+
Code:
::
@@ -577,27 +519,26 @@ Code:
Hr’s:
-
.. raw:: html
<hr>
-
+
<hr />
-
+
<hr />
-
+
<hr>
-
+
<hr />
-
+
<hr />
-
+
<hr class="foo" id="bar" />
-
+
<hr class="foo" id="bar" />
-
+
<hr class="foo" id="bar">
-
+
--------------
Inline Markup
@@ -621,14 +562,12 @@ This is code: ``>``, ``$``, ``\``, ``\$``, ``<html>``.
[STRIKEOUT:This is *strikeout*.]
-Superscripts: a\ :sup:`bc`\ d a\ :sup:`*hello*`\
-a\ :sup:`hello there`\ .
+Superscripts: a\ :sup:`bc`\ d a\ :sup:`*hello*`\ a\ :sup:`hello there`\ .
-Subscripts: H\ :sub:`2`\ O, H\ :sub:`23`\ O,
-H\ :sub:`many of them`\ O.
+Subscripts: H\ :sub:`2`\ O, H\ :sub:`23`\ O, H\ :sub:`many of them`\ O.
-These should not be superscripts or subscripts, because of the
-unescaped spaces: a^b c^d, a~b c~d.
+These should not be superscripts or subscripts, because of the unescaped
+spaces: a^b c^d, a~b c~d.
--------------
@@ -643,8 +582,8 @@ Smart quotes, ellipses, dashes
‘He said, “I want to go.”’ Were you alive in the 70’s?
-Here is some quoted ‘``code``’ and a
-“`quoted link <http://example.com/?foo=1&bar=2>`_”.
+Here is some quoted ‘``code``’ and a “`quoted
+link <http://example.com/?foo=1&bar=2>`_”.
Some dashes: one—two — three—four — five.
@@ -657,7 +596,6 @@ Ellipses…and…and….
LaTeX
=====
-
-
- :math:`$2+2=4$`
- :math:`$x \in y$`
@@ -671,16 +609,21 @@ LaTeX
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.)
+- $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:
+.. raw:: latex
+ \begin{tabular}{|l|l|}\hline
+ Animal & Number \\ \hline
+ Dog & 2 \\
+ Cat & 1 \\ \hline
+ \end{tabular}
--------------
@@ -689,7 +632,6 @@ Special Characters
Here is some unicode:
-
- I hat: Î
- o umlaut: ö
- section: §
@@ -796,11 +738,10 @@ Foo `biz </url/>`_.
With ampersands
---------------
-Here’s a
-`link with an ampersand in the URL <http://example.com/?foo=1&bar=2>`_.
+Here’s a `link with an ampersand in the
+URL <http://example.com/?foo=1&bar=2>`_.
-Here’s a link with an amersand in the link text:
-`AT&T <http://att.com/>`_.
+Here’s a link with an amersand in the link text: `AT&T <http://att.com/>`_.
Here’s an `inline link </script?foo=1&bar=2>`_.
@@ -811,7 +752,6 @@ Autolinks
With an ampersand: http://example.com/?foo=1&bar=2
-
- In a list?
- http://example.com/
- It should.
@@ -820,7 +760,6 @@ An e-mail address: nobody@nowhere.net
Blockquoted: http://example.com/
-
Auto-links should not occur here: ``<http://example.com/>``
::
@@ -837,9 +776,8 @@ From “Voyage dans la Lune” by Georges Melies (1902):
.. figure:: lalune.jpg
:align: center
:alt: Voyage dans la Lune
-
- lalune
+ lalune
Here is a movie |movie| icon.
--------------
@@ -847,40 +785,37 @@ Here is a movie |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]_
+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.
+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.
+ 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).
+ 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.
+ 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 <http://google.com>`_ and ``]`` verbatim characters, as well
- as [bracketed text].
+ `links <http://google.com>`_ and ``]`` verbatim characters, as well as
+ [bracketed text].
.. [4]
In quote.
diff --git a/tests/writer.rtf b/tests/writer.rtf
index 3cb1d2996..6bca9387f 100644
--- a/tests/writer.rtf
+++ b/tests/writer.rtf
@@ -277,7 +277,6 @@ quoted link
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Shoes ($20) and socks ($5).\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Escaped {\f1 $}: $73 {\i this should be emphasized} 23$.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a LaTeX table:\par}
-{\pard \ql \f0 \sa180 \li0 \fi0 \par}
{\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Special Characters\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Here is some unicode:\par}
@@ -430,8 +429,8 @@ inline link in pointy braces
{\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Images\par}
{\pard \ql \f0 \sa180 \li0 \fi0 From \u8220"Voyage dans la Lune\u8221" by Georges Melies (1902):\par}
-{\pard \ql \f0 \sa180 \li0 \fi0 {\cf1 [image: lalune.jpg]\cf0}\par}
-{\pard \ql \f0 \sa180 \li0 \fi0 Here is a movie {\cf1 [image: movie.jpg]\cf0} icon.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip ffd8ffe000104a46494600010101007800780000ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a2828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828ffc000110800fa00fa03011100021101031101ffc4001c0000000701010000000000000000000000010203040506070008ffc4003e100002010303020404040502050500030001020300041105122106311322415107617181143291a1234252b1c115f016336272d1082443e1f1265382ffc40017010101010100000000000000000000000000010204ffc4001b11010101010003010000000000000000000001110212213141ffda000c03010002110311003f00dadd18a10a704f6a95ccc57e37750782b0d8d9ea0cd32e7c5446e07e9f4ad723119a7b89e61e348f260719278aad613cbb640002938c76a182b264fc87bd13009c0c019c76e3d68a072e1cf6f4cd502d330c28269a61bb39c923923d4fad44c08dccb95cfd28b8280769ee08a263891e1808739e4f1d8d149392172cc714050dbb9fde8960ed8c60b79b1ed44103b05c331dbdb1dc5026ac1946d20ff8140aa631c773ec738a0346a003bf93e9cf02801895e7b9a01886796c923bd0090a06393c76a0142003ce3d86680d8dd9392303f5341ccc1b3cf7a2c812c37e4923d381429757013209fa511c18146c9247a0f6a007900c0c671c6280854e086c673eb45c27c038fd68aedff2fda836ef881f136f25d5e6b7d1262964aa02b03f98fbf153131935edcc97576f35c33349212cc4f39f7ab26186dfce5b200f73451f7600dcb8cf27e7400c0b291914046c9e0718fde81371b8e7273f4ef4007691919240e714097f31f376e7b5008caee27807b0f5a02c8e1b3c6d27d33cd0201d839523144d1a149ae084b78da47638211771fd050d582c3a0faab5119b6d12f8ab1c06788a0fd4e2ac356fd1fe08754ddccaba849696309e598c9e2103fed1dcfdeadc44fea5ff00a7f956366d375e492403ca935bedcf1eea4ff6ac68a55efc1beb3b552574f8e7009ff933a927ec715bc82b3a8f4d6bba5ca1352d22fe061cf9a0383f71dea5119cc6c0baed3eaac0f1fad40897dcc3d81f7a052366c1007df3400f21edefc5008c28f30c9c5170ee4fc37830086395250a7c66770c18e78da31c0c63de8609b41f7c515c5172a30c3b76344a3e377cb2339cf7a242aea89808cce368272b8c1a2e107c672a49f5c1a181c9c7ae7da8a2119e7b1f5068099ffa68258a132062d8f9e0f34059502b61bf2824e681bb297ced2a71efda80f19c47b9c77fdbe74057c13e539cf3c1a0eeeb9c73f33405ddb4f18249c1e28062b79ae242902024465b9214614649e7bd0362a7249eddc513456e5720f38f5a1a98e96e95d6baa6ebc2d1ad1e65521649bb469f563534d6d7d31f04347d2a2fc5f535db6a0e83718906c887cbbe5a9a8bef44dce9f731ca9a2e89169d6d6f2184b1455dc07b11dcfeb4d16f119c649a681285b03d3e5500f87820ff006a0e098191de80ac9b8904647b55d11da9681a56a31f87a869f6970b8ffe4883629a289aefc16e92d441682da5b098f21ed9f033f353914d19b751fc08d66cc16d12fe2bf45ec92ff0df1fdbfb559ec667aff4eeb1a04db359d3ae6d40eccebe53f46ec7f5ab82263da7dcf3eb5174e5181076918c7de869503232491ee4515c1803824f03b51287f30e0e7d803449494832c157278a2e8c71fcb9f9d144639236824d01e142efb1768cfb9c7ef40512a818de78ff00a682518e7cc30ab9e00a02cce9953247bd41e467191ed9a04205ee99da4e4e3d283a524b0427b5026c18a8e082067db8341ce0e39ed409b6502907391edda80f2dfdc496f0c124ac6184b144cf0a4e338fd2894f7a7342d4ba9b568f4fd261f12571966270a8bfd47d8511bae85f02b47b7fc34bac5d5c5dc88a0c90ab6c8d9bedce3ef4d1ad691a6dae976a96d616d15b409f9638d70054a1dbc68ea51d4329f4619a8022b78e04548515117b05000a035c5c4702a995c26e3819f534047bcb68a458cce866719540724d02e41c0f7a012a40f6141cbc8e7bd01719e38e6838af1c0a04ca8206d3cd037bdb082fad9e0bd8a39e0718649141047d0d5d18f759fc0cd3af164b8e9999acae4e4f81236e898f7c0f55fed574615aee83a96817ef67abda3db4ebdb7f66f983d88a061bb8db9e3d45165076db83c1f950a53780d8247c80a2398f182724f1c7ad080c608cfa7a51a0062adc7afbd0130173bb9c5070f071cb37e82826106e8f615e01c9e680d6b35bc534be3c1e3831b2aa962bb188f2b71df1de819ae4b1048c7f57bd01a58268e332642ae0704f7cf6207af6a01b99e17b7b6416e227407c494139909ed9f4c0a04a4e501e0f1eb40d263e53dce7fa682c9d0bd13abf58dd6db18bc2b157c4975270ab8ef8f563f21447a73a03a1f4de8eb031582b497328066b97fcd21ff038edfde88b7e32703bd64188e7e6283864b73400cd804b67ca3268317eacea6d56ff005233592f8b6303f953fa4af7c2fa93417fe98b763e0ea171297bab98558068f695ce0e08fdbd281e5c6a57ba5e9d14d716ef7774f2ec112601da4f27ec2827ada74bab559a20e148fcae36b0f91140283729c77a0e0a7777a01dac68395719e39a029607cb901b19c501480ab9279f4a086ea8d0b48d76c0586b7143224a76c61ce1831fe93e86b43cd1f12fe19ea7d2533dcdbeebcd20b612651e68f9ece3fcf6fa5067cbcf20ff009a051724905411e94032799060723da8406d6c67e7ea68d0e1770fe5cfb5026c37039ef9a02eca098c91e6e01e71c500b1d8a49c12786cf6a06a4e256008e3d050119958007920e2801154e32fb4120927b014017eb1c523ac5209a356215c291b87be28957ef853f0d66eaa99352d515e1d190f947669ce7b0ffa7e74a8f4be996569a5d9c56b6704705b46bb5238d42851f2ac875712bc70b3c30f892019540704d01ad2669a0491936330c95ce7140b2e4939a03638c7e8680ae485e33bbe540d60d3ada162c90a02c7270a39340a4f28b68da4645007a8f6a069a746f73235ddcefc391e12b2e1916824948742c99382473c73404791c617695279dc0640f9502c578c9efeb4095cb4cb0830ba21cf999c6401f4f5a05061d430c8079a02e03b3004311c7d281b5e3cd676c65489ee594e4aafe6c7ae07a9a0a075bbea3a8ea96f047d3935ebc404f04ad29411e08e011d98fed416fd212ee5b05b4d5ad6300c615807f1171eaa49eff5ad418c7c55f8466dd66d57a521f20cbcd66a7247a9283dbe5418a63862479877cf1f6c5008e400bdf1ce684016fe53dfbd1a73794600e08ce3d6800377c8c7d6800a9cf75fd4503d91492460f7ee3d28247a7b459f5fd592d22711c206f9e563858a31f99cfd050583518ba75247b1d134f9aed21396d4669769931dc01c003f7a329c4d17458ac5b55d36c12e040a3f1da75c1cb04ede2447f7f6a94567ad7a66db4fbbb29ba7d65b8b4bd8ccd09c8231eaa07b8ab04a7c2cf87b3f53ea8d77abc72c1a5dabe2452bb5a561fc83e5ee7e541e988218ed2dd22b7855228d76a46a00000ec00a510bd4dd511f4fe84da95cc31f880022da4902b1e7d3e99ac86fd03d631f565b4ee6d4dbbc649009cab2e48c83f514165b8b94b6895c44f279c280839e78ce28178ae6de46748a789e453865570483ec6812d42e85a421fc37918b00a883924d024c6e99b7a2a966c0009e17dc9f9fed40f81c77e28139218e4ff9815b9cf23340a01c907b9140201038ed402fcafd28386464e4fd33c50272bc60032609cf00fbd024f722dc66f24822ddf972f8feff00e280f69b24844919cac9ce7de83a447f30ded823007b50459d6ecacb528349b979127651b1dc795f1f3f7a0990148054823dc5015d491c0a0c3be337c2ff00c489b5ee9c87172016b9b541c49ff5a8f7f71eb560c1fc43e0a47e1aa94277310431f91fa551c1727f29ed409b641c86e31839a3454805739c1f6a026f1fd740f64665fc8c31cfde82db79bb40e9e8f49b62eb7d7e8b717ec832c91ff247fa1dc7df2281bcc9369d671493c422b7911654c1215f92bb8827bf068624ba635392df5eb4b9924558ee5bc19b71cee43c6dc7cf34c657be8db0b0b9d0f51d2afe668934dbf9628ddb8c2b8c0073f3a80da37546a7d25174fd95dc125c69f7313ee5655dfc313bd483cf07b1f6a68d5b48d5ec758b612e9d7293211c8fe653f35ee2a084eb9e8bb1eafb3582fe496278f3e1c919fcb9f97ad03ee8dd017a6741b6d3229dae161057c5750a48249ec3eb4139238568f6a9e7b103b5037934cb3793c610a2cd9277a8da73f5140ee38f6280c4b11c65b934023006d50050030e4647de80c846de3b500fcf9fbd0197273ed4007b91400e580c8e45074a82400e72682b36fd2162b7f25ddc09af2766ceeb872db79cf00f6a0b3229550140e07007a50092db860673de818df473c862686dad6470d9cce3b7b63e740fa1de6252ebb5bd81cd00bee2d800d003a6464004763ce683ce9f1cbe1f1d3a67ea1d1a30b68edffba814708c7f9c63d0fafceaca31e6dc71e1f07daa82608c83819f7a1a11ce149238fd68d0a579ec682cfd27a7c3a86bd10bc38b3b756b8b93c1fe1a8c91f7381f7a034f752ea5aa5c5eb292f732128037619c018f6ec282e5a2cb047abda74d5ce9b6da80f136de4a496219b3e48c92000323ea73467519d3da5bb757dbda410ac90c77c23058f99007ee7ec31416882ee47d23acb5185caf8bab4691b1efe57fff0038a9457ee75a82f6e7429350466b482f2742c0f74241c80c38c64541a9cfa1e89ac0177d33ab3d8de28f2b5bca429f91140e2c7a9b5ae9fb85b6ea9b46b9b3c796fe040768f76ec0fafb1f9505df4ebdb3d4edd6e74db98ee216fe68ce47d280648f75e2485a44da385ddc13f4a025ddbdbea16a633286566ce55f9c8f6c502ad750db2c514f30dec428247e6340bbf04100b73402afb943ed2b9e30683836defe9403bc1e06734020e06280cafe8683a375941d841c77c1a0151b467b50159f00e4127e5402872371040c5046eb5aadbe9b1c02e2f6dad25b89047099c677b7b0140fe3f1010afc803f3018e68160c3041ee2823f5dba92d34db89a1d9e2843b03b6d05bd013560c1748d57aa2797c6b35bab78e6959dc47231580ff336dcfb03c1a58364b5bbb7d7fa7b7427f1f673830c8664285bd1815238fad20f2c7c41e979ba43aa2e2c1cb1b663bede438f3a13c7dc76fb5515e9065b851f7a02950002a09c51a1b83cf14176e90d3645e9ad7752752aac23b3439c066665c827e944d29a6410aea725c4567135bd840d3c88a723728c29c9efe6c50d3ee9545b0bf8ef2e6e3c2fc2c6f72f2920e5f19039ee4938a9a875d03278377acf52ddf867f036ef71923932bfe51fbd3475cdc369df0db4fb389d4ea37970fa9cc0b00511795ce7d4f181eb4cd2451755fc45ac16d637381b14ca36b641dfce723e4053170d6cb52bbb362f6d3cb19241f2b9029862f09f143549ba7e7d2eef6caf2797c66ee17fdfd69862d1a069da7dfdac579d17adcda5ea9e1a992376c4723e39e3b024fd7e94c458ac3e25dee8d31d3bae74e7b79002bf8b8549471db38f5f4ed4c165e943a06a328d4ba605b4b22a1523c420c64fbaf38a82d36f0ce7cf7463790729b53017e940e0b0ceceed8ce0500e1b70daa08f5c9ed41d271cd0132476e7d7ff00aa069797d2411168ed9a41fcc858211f73c5075acb25ca6fb82aa31e58a36c81f561dcd033d42169e158ac64b98151b3981c2966cf639f4a064c7a8ac55e4865b7d493701e1c8e52403ea3cbfda827e390ca3f2c914aa81991bd281cdacc2747215c60e0ee5c67e940cb51b0b2bcbd824bfb08ee1a252d1caea1821cfa67b1fa504982b2283ce08f518a08abb82f6dd0369a5662081e14ce40c7ae1b04fda82275cb0bfd4f4536f7114589a5412461f3e4ce4e0e060f63f6ab2893d3b4b5b5b78e22ed22aae3cc3cc7e64fad3449a22a461500007602a0cd7e3b74c26b5d2ad79147baf34eccca40e4a7f30ff3f6aba3cd0543267eb5427b86f1f4c76ef45d0eca1ad5ef224d13e1cf4fd9b22192fa67bc955f8c8c617fba9fb510d7a6ed3fd43a735e5b54964be658c048fb6cdd9e7eb8a186bac97d174e6d22e23437b7ac26b95e77c68bf950fa7279e2b22dba45b59e97a669fa4ea36aeff89cea9a90451fc355ff0096ad9f4ce3f41570675d4fa8c77da8de5cde5be26bc653171ca47dc1f6c9fed5562b97f70276808da7c24f0c1c63804e33fa8a2928c0e0383c8f7ed41d92a41393f4a2548595c2c37493db4cd04e8a08f139566edfef3445b6e7aeaf65d2df48ea2b11776ae02a93e564c772adef409f4ee8ba9a21d73a36fa579ad9f325afe599171ed9c30a960d5ba0fe2843abb47a6f510fc26a4c36890f9558fcc6783506a1147b510024e30339ce680d2c6ae9861eb9a009178a0205443b989e39cd01d8075e3047ce80563057ca381ed4011c4531e503d85013c91b804a21279c903341131cda8c3abdc8650f6d20c4321232adec3dc504bab2c113c9293bb1963df3408dd4b75e1efb2856463dbc43b4631fad047e9177ad4fe32ea16b1db4b8fe1aa92571f5f5a0916bc8e0895af5c46c17cd8c9ff7da80f6d736f7f6915c59cab35bc837238ed8a072a31c1ef4062870718a06f7702dc5b3c522ee4752ae0fa8230683c75d6ba3b74ef535fe984929149e4278ca9e47edfdab42058003763ed409f88ffd6dfad06b1f12ae612fa0c76e0b471e9916d23f973eb4158d3efeff004a984da5debc1295d8e4018dbf3145d583a2ad96f356bbd7f5d90dc59587f1e79a6392f28fcaa3ee47159444ea3aa5ddfc7acf50dcdc344d7a4dbc317f52641200f6000fdeb41b5ef51d8eab672ffa9e971c97c11638268e431a46000012a3b9a351567db823b11f3ef40948e428048207a8340ab48ae83cb83ee0f3428a982719edf3e68c9cc97d3fe15ad8c9be138f2bf38e7b8f6ef40f7a5f55bdd3f56b46d3649127f1405f08e7249c76f5fa50689d48ba5f545cdcbdb462cba9206411b2b055bb07d4fb1c73528d4fa8f52d62cf47b6b8d2e65fc458c49f8a818795c151939f977a823ba0fe253750eb7fe937b04293f9f6c90be41dbdc7ff006283473c1efc1a06f69776d73bbf0f2aca32572bc80470450284a46dfca19f819f5a04e799614def26c0bdce09cfd85045dc75769d12dc3c3e2491db0dd3c85195235f7c91cfd066ae0cdba9be31f4ec61a386c1ef9d4ee473e45cfb1cf34c101d3ff1ac9d481d46c628ed24751881880833f988e7b0fa5328dfed2f2def2ce2b9b79925b791772ca87208f7a60182ee2b95cc0c48f53823fbd40ac658b30f4f4a086d4ee1d75bb6b78f4e965596366fc5211b23238008fde81f43692da5bc30d97831a0397dc09e3d714087506bf61a2c4cd77324726d2caaec141f9fd2ae0c435bf8c57173ad7876f7a2daca10489121244cdf319ce3dbf5a834fe81f881a6f57bcb6ba7c53c72c11873e28cee1db391dbef4199ff00ea4348116a5a66a8a8a04aad04847a90723f6ad7d18c312ddc02a3815423ba0f63fa541687bd9efe1b533b3c9e0a78473e899e318a09bd0ba6eef543e3b2bd8e9b10064bd9e4da001dc81401aeeb29a984d0ba7d5e1d06d4e6594f06523bc8e7f5c0ac8af752dfc17d7090d9218ec6d9447129ee71fcc4fb9cd6842ab10dc0014f3e5a2c1704b671dfdc734525226dc939e283a362c7f940344a380393df144733e2276e38f5efcd01b4bbbfc3dda4a9298a44395902e4a9c70682660d4265d62de40b1bdc1545054f95c8fe627df141af7c3af8808f3dd68dd5d2a45765884b8908d8c3b6c27b7a77a945d7a5fa474bd2ba8e4d5748b28624955d5d8b13b79ee9e983d8d40a753758c7a46b96f6114725dc92279a2810b3a64f94900763cfafa503fd3b59b79ed84da34713c0cd890f0a158fa1f981de826e1b548959fc4dc5cee24b6467e59ed4101ff19e9f676baa5d6a72c50adb4ad1ac790ccc076200f7ad41e7df881d79a87576a5f87b0f161d381db1c2a36e7e6d8ff3416bf87ff082c6f208ef7a82f22b9761bd6d619785f6dc477fa53705ab57f83bd297ceb1e9caf67708db9c4526723e849e3e94f212dd25d117fd29a8c09a76b534fa39cf8b6b71ced38e36fb73417f52e64548e34007e673e9f21ef590a1c918c90718dc281a69b68f67118d9da5058b798f6fa7fe280daadd1b2d36eae70710c4d263df0a4d583cc7a668fd4bf11b5837d7c93dcd9a3146959822a0e781f4cfa55161e9dd7fa67a4f55b9e9aea3e9f81fc09ca0ba118998fcdb2338c7b528d39f4cd2ba76e2d357d292df4eb391809963420ce1b1b576fa1e7359119f1eb4e17dd033ca172d6b2a4df303383fdeb5c8f2eef3bce4e0e335684cb0c9f354160d36f64b0baf16072b91b5f03391f43c51aab23a5debe91c4fad4d73689e6fc3a290573ff4f03e59f4a3280d67581ce916567f84b58ce0a1fccec3d58fa9a084de08c90464e4d1a8e419059b201f4a05630a176918efc50176293872c17bf14042aa0125b03db14046c60b60123fde6827fa0c68edd5365ff11346ba6292ee64194240c807e59a32b7fc51bfe8bd5ed5db424860beb62b89218422ce09c11c01dbbd0660ae110bf1bf2154838dbebfefeb41a8f4cdac7f117458f4d9ecd2df53b4cf81a822808c47255c0f7c8e7fb54a2ec2cfabba3b4b4b8d3af12eedad40926b0f070a13f9b633649f7a82eba6ea4357d321d4ecad512daf20df26e016507fa4fbfaf3e98f9d067dd2bd2faac9aa4d72d72d1e9510ca46a7631c7a320e18f1dfd7bd059afb7da816d23de4ba5de211346a1e4785f190548e4648c63b64e6b43ce9d5baafe3b539c5b452dbda46c638a167cb281c73ee4ff9340e3a3fa5f5aea4ba58f4bb57dbfcf2b02a8bf7f7a0de3a5fa0b50d2a2d92eb3e048c0a97c867dbedcf6a944e5cf4f6b76d1b3d8ea42795066266c87c81c65b9cfaf15048e83af3cd64abac08edaf01546c38dae4e0657ee6826e5b892de3702292e2545ddb55700fd0fbfca81c4b3bc718716eef9eeaa402280d14ab3c0b2c65c06fe571823ed40df56b217fa6dd5ab9216689a33f2c8c558307e83b8d77a37aaa7d22f2512c28768800c9954671b3d33ebef568d0ef7a7749eb0b5bbbb162d657b32b46d2e1564c8ed9c5644d1b0b9bbd261d2a440af6cb0e2e5b1e7dbc1238e0f7a0375b696daa7496a3a4dac8a92cf078685b271db04d391e40d5ec4586a1716de2a49e0c8c85d3b120f715ba1899173ff305413070abd89cfe9f5a2d3ee9c8639fa874eb6b804c52dc46b20c9f302c3bd11e84d47e1af4d5dc6521d3e3b662c19a58721ff5a9a321f89bd27a374b456d158dccd34d333332c9b4b2afbe47a7cb1f7aa33d2bc0d8c0f1c8f6a2c14b6d501b39cf63450897380c319e3de8065031c038f7ed40d8faf1ce41e4d004876a8dc3cc7e743025c956c818028c904579e7f0e15695c9c0541924f6c00283d0bf07f42d6b48820b8d62d20b2b58d656404959e52f83c8ff00fcfafbd4a35bb06f12391a48dd55cee2b2f3818ed8f6a8158a159890f02242079147623e631c502b0db436d1ecb7458d4738038fb0a087d6eeb508f48bb7d32d95750752b6c26c905b3ddb6f61eb574794f5cb6b9d0fa9678b512b25d24bbe52b8c1638278fbd582c57ff12afaed45b5bc0d0d8a8c08a2731ee3eec5793f40450466a1d59af446293c186cd53ca0c36eab93dc649e49fbd048e89f1675ed35e301e293919dcbf9867b37cbe94a35fe94ea4d33aba6824306dc48015750d86c6e247b0cf63591a40b8dc23fc30f14138dcac3000f9d03687547f12e8dd5af816b13148dddbcd29039c0f6f6f7a0eb5d62caf5636825db70c9bc4328f0dc0271c8a090627d3073ce681acf6505ccf14d35bc2f2c2731bb28254fb8a075144a83ca806792400334049ee6281e2496408656d880ff0031f61fa50446bd76058ea1b9e21025a3bb48afe71df9c7b71de9c8f196a0de23ca7b827d4f7add117e0cbfd4b5059392369663ff004e71c51aa97e8f555eadd258f2bf8a889cff00dc28cbd0bf123a926e96d163bdb74490bca2321c678209ff001591e71eafd7a7d7ef45cde2c20aae144638033fb9ad2e1b5e69d058da431ccf21d4a5c3b4631b62523807feaf5c7a50222f2d648c25f5aeec8c2cd19dae3d3e87e944d3eb7e90d425b49ef2292de38224f1505c3f8724a9eeaa7bd0d57a60406059436306868a7803839c7ad1a158039c13f4a33a716767f8cb9b6b55e1ae2458813e9938cd07a9f42d0b4de99b4b7d1f41b58ff19b03c93ba06607fa8b1f5f619a5b8266d74a65d42da6ba90cce996dcdc8c9fff006a5a2c2635083b05ef83eb5028076341db4b1ed9f7a04651fc41db18ed419d75b744dbea335fcb0db0335f2057901c05da73c8f9d5d18a75174a3f4c47335e35da4ce418a489374254f707d463d33565d1529b569a489a17944b06ec8057d71dcd037b4b6b8bfba31584124b27e62a8a4f1ea68357f83da7ea5a76bfe0912453ccabb49194653cb60f6ce3dfda983d196cd108c2401711f9768e306b2297d73fc6d02773a8b591922693c5004bb9d72542fa2f6efde8314ff867aeeec27500b77bb5670e36ca19b1dff2e7f2fd2837ce8bd5dd348b78b552219022870d9c46e792a4f6c608a0b846c8e03232b29ec41cd0199f1410fd4b24b1e8f712c0a5e4452d851e6c639dbf3238a0afa42ba77475e4ba8470896681da45180b18da76af3c9029c8f26dc1df2b9c606e273e86b743331924f27f4a82c12280e59b008e79f6a2d4d74188ff00e30d203a82ad7519c1ff00b860d11ba7c5e86c9fa3afae6f4091e043e021270b21e01c7dcd6479ab4dd3aeb56be4b7b184cf2b301b57d07bfd2b4bad0fe25e9f6960ba7c7a55ac50cd750335ccaade7723b83b8f6e38a2207a5ba4e7ea3d93780cb616ca53781f99fbff009a0b675a5be9765d43a75a6ad3b25adb4185429b831c70303dfdfd2831eb8954ca48f3827819c71ed406b2b1b9bf9a5fc1c4ce2253238047957dc9345d122b792eee522811a495ce1157b93ed444ff0049f476b1aaf51c761345269d25be269259570c833c6077249e062a68f53e8ef0da69509d4ae225b92a04af232ab16f98cf1f4a5a266d4dbca8af13a329ecca723f51502d14f0cb9f05d1c8ee01c91f6a0393b4edfe63c8a031608859b38f97340d84d04e5846eae50f9829ce3eb400fb24466041f5e3d2823f56d22db57b192d6e61468a41c823ff0035651916bbf04ada7badda5cad6d1b72c09dc33f2a6875d25f0865d06fe2bc6d4c4d3282026cca8cfafcfd29a34cd234a10c768f711a78f1bb392a3001208e3ec69a26a58d640c832091c90706a084ea1d3eeafdadf4f86da3166c0b4b397c18f046140f5ce4d04f4702436e91c28a9122e028ed8a0a9f5a5b6a09a1bc5a135bc72cce048b3c5bc15c638f9d59043fc2db997481aa69dae49e1cb6bb643239211939e467818f97bd305965ebce9a10bc8da9dbaa2679dd9ce3d8530572cfac87566ab05ae9f1490692b9696e1f833738555f96793504df5f25945d2576b7ec16dc46792381c7b7ad5e60f234980e42f6c9c56a82ec3eff00bd4124e49700f1c646e3cd169ce9575f83d52cee324347323f6e3861ff008a23d47d4ba6a75074fdcd8ef317e2e2ff0098bdd4706a60c3f4ae8cd5f44eb8fc3e97248a638cbc73bf90483d463b373e9574685abf42a6b5649fea72bbdeac4a8d3b018cfae31f7a6895b6b29b41d30d8e9f6bbed9213e1b7a994e724fcbb5064bd7835a9752d3af75d8116354778f660788cbd9483dbb0a0cd20b2b8d43528ad2088bdcccf854039cff00e2827a0d34e9da1de896f2182492efc0976f998aa827d3d334113a74aa9a9298628e74570478bc0c7cf1da83724bb8246d3e6416b0384da61b5501c9f5c3704f152c037561a95f5fce61d3ad6db4ab950f34b331dd9f4191db8fdcd406d67a675ab4b6d325d1af248272a43430315ddec7038f6ad4b3f448bf47eb71cb69abddebf21d5e26896203846c30c8603b9c6452d9835901405660376319ac84bf13180779d8bb82827d4fb0a06f777367a75acd7170f1430a9f331200cfceae061a0cf6dac692d7365266191db0578f5edf3a6075a6c9278b3433188a467860d96fbd40fe540471409aa0c1140750001ed8ed4058e15133c983960077edf6a06faade5c5b7822d2d926766cb967da2341dd8f0727d85033d27597d62e2ee3163756915bbf8799d71e2f19dcbf2a092b88dd9a311950a0e5b70ce47fe6ac18af53f5b69da9752dd69da9ca906876e24465d9e69881c6ff005c679c0aa2bfd267a347512c93dbb5d42d90d3c800b68c9ce0ec3cfa528db74ad034db5905ee8be1ac728dc153984f3f980f4fb56453be2de8f647a6aff53796596f0aed46798ec033ce149c0fb0ad71479c9bb9dc3bf3c55a0b95f65a825150b481a407b93c0fda8a29c06671dc93803bd131eafd0af6dffe18d2ee25982a4b04603b7a9c631fad03bbe586381bc5945b96385718c827db3eb5288eb8ba934eb15fc3c535f05427796dcccdec7150637d5bd55d5362b7975aa4d0d919018adec8637807bb60723000e4f7cd58203538aefa8aeb478a7b9beba924547b8774cf8608036a80704639cf1f9855d1a7f4c68b67a03de5e5d59dad8d988c62e1c0f107a1e7fdf7a082ea6d07a6e3e99375a7cb6b3db093c727701e2360f7f53dfb50653d4130d42ee18f48b3f0232a15218936963ebf5fbd06dbf0cfa74855b9d46e04b730c6144691e12307d33ea7de8348ba6b5478a279a004f98c479247b81f5a9438805ac0be2e02e73c9ef8fbd40c2346d43578eefc40da7da1dc8b8eefea4fcb9fef419beabf12a4bcebcb2d2fa7ee0dc58492084b30236bb6467dce383f6a0b87556a67a7f4d95a0bbb5468816f0a69c78b2e072572719ce78357079dfab3af2e7a92c963b88d94abbbf91cedc93edf418aa2c5f0dbe2a6a9a0c90d8de34773a6a8da1186d6403fa48fec682d9adeb7a9b4c9d572dacc9a6c9700456e5ca910e000ecbd8e580352fb1ae7476bd6dd49a325e5a9f3025245fe961dea097523cc0919a032af039a006936c81423104649c703ef40dcce64bc3035a87b6f0c378f9fe7cf2b8fdf340a4b6e25962915d94a67807839f7a043586922b5636ec44c061063f31f6ab079d7fe19b7eb2d4efeef55d5d74f992e9a0fc3a441dcb13927b838c9aa2d4bf042c618e178efee6e18104870172318edf5c1e6945bbe1a748ea7d2315edbea3a99bcb190030c401010e4e783ee0fa56455be3d6b90c1a6268d69e17f1486900ee98ec29ccc183119419e7e55ba11f089f523ef5058363a8059fb8e31e9421b491056c01819e28d3d0ff07eea3d53a1e3b6b8db235aca63c139c0eea68ca47a9fa6ef757b83ff00bf68ad428c2f248c7a8f9fcea518df516adac74e7544f63a2ea172f1800291e6cee19ec78cd5826344e85b6bad25ba8fade5b99dae0ee11efc71e858f7e7d054a2d7d39a75ae8f7b6b00b8917f1516624b78429da327cec493db1db1d8540cf4aea28f58d6aeae2f6dd64b498082d880488d149fcea7d4939ab04175e6850a8d32de3b78e380c8de32c4db4e18e430fef543cf86fd0d691b4fabdf6648b3b2db69ce7dd87be68342d2f4fb9b5b891af1a28a2dc05bc5036d001e0eef7352884b961a2ea9aa7555c885e08d45b5bc52b61b686c120fb939fb541276bd4b61d53624d942e2f6200bc32290633e99f4233416dd3ad3f0d611c0c77b632e71dc9ef41156dd27a45addcb3dbd9c513b1dd941821bdc7b558333b9f873757fd69a85e3f813e9c7723b5d93265d872473c11544a68ff08fa75e290b42ec4e4124e70738fa5048e89f0f745d2aeadd2decedda6525c975121183c77f7a945c754d0e0d563682ed43425369403bff00bcd58308ba7d5fe13f5a05889974a9d8b46aede4914f707d88ff001528ddf4fd7edb54d1a1d56c312dab2e64dbc9418e78f5c541296d70b716d1cd6f8789977230ecc280cb7519b816f212b205de4e0843ce300f6cfcb39a0545c42cee88e0b458ddec33ee680eac92266360debc7b5056fad2d354b9b189745744be121daf27e550548ce3d4d58324d07a725e98ea2b7ff5381f5169a7579d021fe13904ee43ddfbe49038ab46e76cf05cc714f6d309232a4a98ce54fd6b2196bb7f2e9b631b2c427b891b6851db3eff002007341e5bf887aa2ea3d4f77378be381e42fdb711ed5a1554395caf1cd07617dcd04fc85402101da791421b49920331381c60d1a69bf02f56f03a925b12c162b98c955f775e47df19a32d99b518268e4491668704a79d4aeec7b7bd4a30feb7e9144d76e265697c3e2693631674273803e556087d76f35fd49859e9925ccf611141106f2e182e3241f727f5a94681a268f79ad1b1b8b9dd66b1c2b1ce9bb06361c1e7bf3fe6a096b0d3ba57488e485b52b40909c386901607d47bf7a0ae758eb69ac4d15be81a748f0a9c35cc90b2eff4c03c1c638a0b77405c5d5d45f87be5fe359a88b81b401dc1c7d38fb50586fed18ea3015790091591e447c1518c8c7a0a0a5754d8c9d49a8d9f4ee9dba0b3b5224b9692327728f627e7c6682f9a7e996b6b3a8b6b748a348820c7720761412c064e3041ce282b5d4bd73d3bd3f33daea97ac2e540dd0a292dc8cd043c1f15ba2a7923b65bb910371b9a12141f9d02edf13ba2ade56857551e5e77244c54fd0e280746ebfe99bbbd655d56dcdc9ce08465565f4ee3bfca82d53eb3a6dac3e25c5f5ba646402e33fa77a0aff5b74ad8757e9ca972844aa37c520fcca7d3f5ab067bd369a8f467544d626c98e9f7118f0200e4465c903049c8c9e6ad1b24334b6fa6249716cab20037c309dd83db03b5640dddac3764a4f02cb1103863919fa7a1a06d6f600c37162911b7b252b87dc773f1927393f4a079f868edae1ae6328a8b1ed38e30050226e85d5dc1f879011b3c47c2f604719f9d01eff4f4b83e3c6b18bb452b1cac9b8a83de80b16e8208a3b7b58e1407cc061427cc0ff1560ce7a8f592d69a97504cad2dac01a2b53900c3e9e51ea58f727d0551e73bfb86b99a49a46dcf21c96340dc13804f20f6f9501c0e3b8a0963316fcc4607007f57bd084d64dec01200ce483468ff0040d525d1755b4d4206ff0095207c11dc67ff0019a18f56584f6daad9dade4211e39104a8ded9152b235cd8c530613229c8c1c8ef50472e81690ee00322b0c100f0debdbb7ca8111ace856371358cba85aa5cc407891ccf83f2ef4048b4ad2e59bf116769672c72f99dd1437239078e2824a4d3e1b94559234110e781839fa0a0561b38ad532a12319c86c6307e740a9732a3a00cac870cd8e0faf0681be8b6db965bb909df3c85806eeabced5a09523647e6e0fef419a6adf116daf7ac34be9dd1da686e7f1ca2e243b76320ce57df9ff1560cc3e3f470ff00c78255b842b35bc6c4af9b6e323d3e95467b6365f8dbcf062beb68c119595d8aaff6e282422e9899b4f6bb5d46cda2562a76316c1078f4a0859e1b9b762c0bf94f0e84feb4125a57505c58ea70dd5d0174a986d92b1c13f6f5a0de7a5be366877260b5d42dee2d2423124a487507ebdf15289dd3fac7a7bab6feded74d61733473acdb5a162142ff00313d81ed505fa58fc6d809380c1b9f5c502e0e05040ea367a85dea454de2ff00a610375b04c16c7a16ef8340b5f6930dce9375636acf6a278f04c5dd4f1dbf4a084e91d06f3a52dee62bbd4a2b882494ced3c8a448063b63b638fde803ab7ae749b2b3096d792c93c8c109b55dcd18ce3710473ffdd043dc758dc5869044565aa5dda4c3c2b7bc78c1f14e3963db03e7c0ab066bf1327d41ba76ca6bc48ecad24c456f6b0c87cf8e4bbfa138c0fa9aa3297c83dd4e28395811cf2680a5b93c7ed413cd1ff0f3c797b8031406645236b0508406f30e68ba49c051b97d0e0e7d28ad57e19f575c5be8f269515dac772877c11bc464dea7ba8c739ce78f9d3193bb8ebfea2bcbd6b5b6b8b58bb7f13c2f0ce31cf0deb4c0f2dbad6d743d2ee99efae752d6c02a86e0054524f6383c7ff94c0b6af274c75149a46a5a82c46f1e1479fc3190bd8156fbe7f4a960bf74e9d253f1167a3ac09e0856610e3041ec7f6c540f67b892cee7f8d18368232ef2af2508c7047cf340ead5bf130accc9b1186541e723d09ffc5033bbb1b82d74d6b37f1244daa1b38073df3f4a08eeb1d3b50d4fa6a5b4d32f12cef1902ee73e523d476fde8306eb0d3fabfa4ba92c278af67bb7281606472f90bdd58558253a6afb40ea1d62283a8b461a66a6f931cf6a7c2466f7cfb939e7b5515fbed3747b5eb8f06eb78d35080a2ec9719c76f98049a0b4ebdd37d1bad869acbf0b03c5c16b29444adf50ded41995f68564a263a66b31cd02be152505493f51c1a088bab69ad1bc179e320f07c37c8a0692b46c4995f0381db39a0b2fc34e971d57d4705bc8db6c50ef9dd97b81fcbf7381528f5ae97a1d8e996d1db69b0c7648855b10a81b80f43c739c54134147b9a036063279fb5046e957726a0f2cfe04915b06db1788305ffeac7a0a00d72f8d9c491c06337533050ac7185cf2df6a06da2da4293488f34973328c34aea428c9ec3eded40ee7d2ad249448f6b133820ee2833df3fde819ea96897461b05b87815f2ee919e5d47704fa039ab079b3e326b70eafd4ef6d6650d8e9ebf868b69c8247723efebf2aa280eb9193ebedc5002a124e015340018fb8fde82cf32b1603d0678cd02406dce3008e47ce81b499c331383c9c9f5a2e9c69377369f7d6f796a4acf148acb83fb511e91b3b3d0bab745b7d45acedd8e3732b71b1fd73f7a5a19eafd09a56a0a96b1c705b49c48510761ce4fcfbd4d0d752826b2b583476fc3daacb295b79d768de8a32b1e71f989e49f6a7d14dd1af5ba275a45b8b093c054492ea769092373765c1da4679fbd306e36ba9595fe9f0dcdbcc92c33e1579cf27d0d409ea178f68521b6b76926ee8a7853f7ff140bc768d78f6f73748d1cd103b543f0091cf6efc502f7319dac194371d8b6326829f0c501d7ae6fa568d5d4942c806d4db81839f53c8cd59456fae6e628749b5bab8b1865b08e4726588ec11e7f2e49071c93da9a31dd4341d675e9a5bad374f9858162d0b4ac70e18f0573df35a0c759f87bd53a404f174f965dfff00f479b1ef570576e34bd4b4cc0bdb3b9b7258a00e846e3f2a94376475cee4914af7ca9150685f09ba61efb52fc7dd69bf8eb7c158d1d0b47bb38f37efde968d6eeb4eb5e91d6ad25b660aee59974db6881690918e31ce39279e062a5a34bb57b88adedd1e379679065d80036679e6a07e8391bce7e940c659ef5afe1286de3b16f2b8903094b7b2fa7ce81eb380c4260ed193f2a0cd6fa5d4a4ea0fc7bdadcce923158a3039db83c038e3ef41a0e96b2ad8a35e009291b8a939d9f227e43bd590436bbd6fa269202c974b7123602c76e779624e00e29833bf897d493e896525dbcb2a6b5a9c3e1456b91b6d60cf989c7f31f7a60c02490961ebcf3eb541308e39e067b507007b96007a67fb50178f97eb4165ce18165c2927b773fad023202d9c8dbb7818ff003408300b87f2f1c107d0d0c15a4f2e339c90467f6a18bdfc2cea8ff4bd561b4b9ba686d6e64552c4f954e7d7e46a60f4688d240af1b2bc6cbf5047ca960617ba658de1b792f2d94a5ab33461b18524633fa1a81b5c8b5168967369d23c0e0a24622dc981d81c76aba29df0bb48d660d52fceb88d069f04aeb69130037127f37b9c0ed9a8350781240bbc06da72323b1f7a0eb8816e633192ebc8c9472a78fa50349b4c83c068e24f0ddbcc1c13b837be4d055b57e98b996d4db5b4a893dc1e6620b6ccf2c467efc504ce97a38d3f4d874bf09af6d46e2f25cb82724e791db15650a43f878b51fc34f3da8f132b6d6a98c80a39ff007e99aba249631b58b9047239ec3e55368aeeb7d2da6f52c0eb7f16e87f2c6e836ba90724ab7a67b55d115ac7c3e8aed2182def4c56a14096368959a423d77e3229a27b41e9d8343b01069c8a8dc9660aa3713df3c64d4a1c695d3d6b67a8cba94b9b8d4e61869e4e4a8c636a7f4afcaa09a485519caae19b966f7a0435196582c656b74df3e308beec7b50629375775b691ac5bdb6b16d6378779f019b00a31cf391c9c2f1daae0b35ef52f5374de88d77aa45a6cd25ddc0108694ee2188c28007603d6a0d16c92430a4b2ed3230dc401855cfa0a0a07c45d7b5db9d462e9ee960b14b2ee134ef8c850012147ec78ab0670b643a2efae753d72686e6e2da211db42176079c8e768f65e39f7aa332d6f58bbd635096f6fe6692695b24f603d801e82823cb900ee00e68006460051dfd680ed9f0c905b713d8d006d5f5419fa505a18f94e40501b1b81a04186d62402c87be3d6810b81290aea8467201231cd1749dbc437f9f1e201db3de8ba07dc0175c027f28a335b17c26f888d6b6d0e8fabf892a29c453b1e547f49f7a946d6424f08236491c833ee0835073294888894120700f0280813c40a6711bc8843e00fca7d3ef40e41dc081f9a811681c6f7565329185623b7e9de812b3bcf11ff0b74563bd50494cf120071b97e5fda80d7577046c9019d5669dbc340324eec67fb734103d5da96bf67a7cf0e916f6e2765f25ddc4c11107ab1c8c647cce2816d3ec7f0f6564cae6e67da375e6d52cc4af2e4fb13ed4145f899d47b3499f4bb6d46cda49b69b92921565c3648e3dd40c81cd5c0ae89f13ec246d3e379ed2d6da180b5d34849da1780b128e49271c9f4a60ba685d5fa36bc42d95c324ec7090cc9b1d87b81ed50588958977cacaaa3b9341c655f12348d1dcb8dc1946540f99a019e2134454eeda7bed3839cd052fe2136b536b5d3563a1ca53c49da4b9507198940ce7e5c9fbe281c6b7a974cf4ee4ea7242d76dc784a3c595b3e9b464e3f6ad0ac745ccbd4fadcbabea42da56959a382ce7460d6b1a93c01f97272093ebf6a82f1ad6af0e9da5cb3cecf6902216919f82aa3818c7a9f4c530649a9f5269ba7429d472239bc991a1b0d3c3152880f0f23039e7bf3de90635ab6a377aa5ebdcdecef2c9239e59f3827e5ed54302195fcc38cd01245395c1f5f4a05b606538e483c501b6939e3b5077860f3914165754c33e549000dbe87de813b820c27fa7baafb8a04a69c98e281e42618c795338033df1f3a06c03e4e029247007ad010093c35674da71f977640340081a190658e41c820f141b0fc33f8926c218b4ed609366a02249bb2d19ce3ea4528dbece68eead926b7916689c643a9e0d643387521fea2f693c2d6efc786ee46d9bfed3eff2a04669edf5295ff057a60bd865309246d3bbbedc1efef41d63a8dec9ab4fa7dd4510fc3c69234ca186e2d9c003b7a67bd034bad0a5bb96e25d575267889cc1b54446d9bd0a37bfbfbd02925945a72cba8dddc48b3f87b1e58f23c623f292bdb7fa7cf38a0a5750f54ebba56a9a67fc516b6d6fd3970ea9234677c8dc7f38f6e4640ce282d1ac4b16bfa72c1d2bad430cd1ba822061865f5007d3daac19cf547c189357d561bbd3eee683c62cd786e9b73337b8c7bd512bd39f06adedec2de0d5ae639da372e6485363107f97767b505cee755d03a5e58ac228659af123184b7b733322e38c91dbf5a943ab3d52e64b49ee755d2e64950e238e35f10c884e17cbe87dc540e6d7509a4f110e9f7566a471712850abf6ce463e6280bacea36fd33a4497f773cf32c698dcc4beee33938edc7ad05534aea683ae61d64c4d2a69b6b88d16d5ca5c303f3e386cf61db140e27b5e99e96b64bdd562b6b30aa36c6c37cac7dc9eec6b42c1a66a962fa70beb6b516d0cbe76322f86c78f6c66831bf8b5d5d2dfa35a5dce60b1933b6ce3c788769f2b331ec1b8fd2831b79649984b239773c1dc68129725c1c640e73400ec781d8fb1a03c4a85d0c8582640257bd01e51fc42236263c9c67be280429c6037eb405dbf5fd682c2a0bb976cf07d3fc5009279ef8ec4e68193a9902b28e7dc71fb501d95b098e0f6dd9e0d0049131019b047b8390281bb292484e47c8500c4f242c3076bf704704739a0be7c3febfbae9a5daf23cd017c7e19fb107bb67d0f6fd6837cd2757d1fab34f4f05e37dde630b1c3a91edf4f7159103d6eb7da65fdbdf59dadb5e2460ac876ed9e1c8c060f9efe9c8a0a75cfc42d5742d2ee5a7e9dbb494b6d6b9bc930cce4f940e3cd81ed4160e98f88315e689fff0022b57664199cc5196f0c7a164ef8f98cd0589baffa68590985eb15c0db1985839f6c2919340b69d03f5285bdd6f4bf021424db4329cb153fccc3d09c76a090d3340d2f479a7bab3b38e2924e5e451cfd280d7dafe936f6c5e4bd89813b02a36589ce318a0358dc35cc4e17f9bf234cdbb78fa0c607a7340e6cec20b1596610c6934b8323226379edda81da8dcb9ec40a042f50b5bb21645473b58b11dbd7bfca8304f8add5d67a9ea8ba5d8ea72c1a4d8a952f10f2c920e368cf71e99fad5833dd0754d6ed66bdb2e9a91a5babb2a310465a57c1ddc1038e7bd5171d3748b8d46ee1ff005298dc6a764c27d4eeaee7fe1c01795881c9e7804fe940dbe287c4b6d75a1b1d1c986d62277c91bf131f4c0f6fad0663737135d3b497124924871f98e7803007d2811dc5b83903dc0a0333f03be7de8122df2c9a05a11e5f51f7a05ce7071804fca8033e5da0734020b0183bb23e5416269577ed0e5323078ceeefdff6a03dbcd62914c2f629a47c622689800879e4fbd046f9d8a2a03e31385c0e73da8b83ca590947dcaead8208e73da8849b3e19ce704f7c5015586d006431f5cf61f3a04ee586ff002481c8fe6191408f0011eb8e30682774dea9bbb5784492ca6385832e1ca95e3d2834be9df8c312e2db5eb4375080337000f1303d18763591a469baef4d755989ec6f6dae5a23e20b599406dd8e080ddbed41272f4dd8caf1c86d163910f9595882a3d718a035edd695d3b6a926b57d0ac65b10b4e06eedd863bf141077fd7af2782bd3fa26a1a8891d57c630948c0279393dcd04cf5875258f4de9f0cb7b7b6d66d2b81ba752d85f5214724fed41036bd79d2fe319d7a8f4b9c81e58de2f04827b9ce09a07a3acecf54b790685ace8697606009e52c377b7f2e682b097d7d36acf0f55df5edbdc0977412468cb6ce3be10af3c63b9c8a0b0751f505be9690dd5d752436f62a3fe4c6448f3b7b0c64e38f615734651f107e3045ac42b67a7693018633b965bc1bc838ee173807bf7cd33065baaeb1a95f2c11dfcd2bc51fe48880aa3e8a062a8b059f595df4ae9a74de9e9ec499d43c97b1427c6e47e525bb63e4282ad3ea3712893c599dbc4259c1627713c927de81043950df97db1406da8411c92063be280230839627078e79a0390a71b5bb5003a8c1232338e4507025573e9fbd02a0e41dc0e680c3691cf714053bb34160895dc16f291d98d02322aa39f3e14707ffaa06f202a5bb0c7201f4a343aca51090497efdfbfce89840c8db8e46573923ff14410b00490d9f5c1a0425dd8ce4673e873cd0265e4dbe7041ed814009b8cbb8e5863bd07163b7716e0607b6698060b96b7b9478dc8643918247ee39a60b7e97f133a8b4e0c63d4ee597380923970a3ef4c0e13e25dfcfab457ba95bdbddb212016501867b9cfbfda982f907c74b282da34874a9048aa479c83838edc62982b7ac7c42d235cd67f15ac5b40c366418a2cb0c1c81e6f5e31db14c160d035de8cd4a3f18ea96562cc37359dfe9cac887fef039fd6b39446f56ea5d13a9dca4579a922496b1975b8d22dfc3566cf9557230703be715ac1431d4d2275325d7fae6b4f6f182a93ef1e32a9f41938f6a60afeb1a95c5fea53dccf772cf2c8c489240031f627e7565c0d67bbf160487c1801073bc0c31f91f953420f2bc8c7c52cc540032738a809905c0f4fa501940208e73df34028e703938a0577ae013f4a001300db4f03b71407461ce0502dca8c9c7dcf6a003fafcbdcd0070bc1e0fd734070db467b8a04cb9c9e68274b93bcb1daa40200ed4099765249ec476cf340849b8b264823bf34689ee009cb671df1409bc8e8b8e770e3ec68984d9c953cf97be2860b248caaebc107dc67f7a184c31232db88fd451031ce50e76039f5c8045026efb8f93279e0fd680b239504f0483d88ef409ee25bb90c79c0e050151c6e21b39ce783eb40adbcc2cefa17bdb61322387781c950e3dbdf9c8a066f28790b22e013db3dbef54726081e63c6460d34191b1bb0720f634060e7600412c781502409c8e3d7b500ed71dbef8ed40243f181c0a02e5d4e0fad006f644e4819e3b501f7e3049e7b501bc43b4e391da80558003392d40a23305e320d02e64cf998e1bf5a032b0c927b8e68049c8c8e71c6280377043118f4e680bbff00de0504ddbb3128371c1c64668024e59f3cd02521254e4fad1a2107e48fe6a6809ddb9e78a029e1463d05027ffc744a6c3857c7b1a205ff00e637fbf4a02b12b1794e39f4a02024e7249ed409924720906800005173fd7404989698ee39e4f7a04cf723d07a501fff0097ed406ffe36a018ff00281e99a037f4d0731f3bfd28007e53400ff99a810248c0cf140bc60123233cff008a0557f9beb4056eff007a07109243e79a03778b27bfbd02b128c27039a054001b818a06609de793da815006070283ffd9}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here is a movie {\pict\jpegblip ffd8ffe000104a46494600010101004800480000fffe0050546869732061727420697320696e20746865207075626c696320646f6d61696e2e204b6576696e204875676865732c206b6576696e68406569742e636f6d2c2053657074656d6265722031393935ffdb00430001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffdb00430101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffc00011080016001403012200021101031101ffc4001a000100020301000000000000000000000000080905060a07ffc400231000010501000300010500000000000000060304050708020001090a11153976b7ffc400160101010100000000000000000000000000060800ffc400261101000102050109000000000000000000010200030405061121b33134365154717475b4ffda000c03010002110311003f00a90cf388f366a62aa720ed6ae07f96901f3831d973452b8cf36fe3570fc908e46d466433e5dd954f2e96992d9e498c7753faa44916e016ca91cc7d88b38fe60a5b97737defcbcc539c98d336a57f4fc2ca9a486bf07ab575ad9a3af4df221d8215e36df86c4504ff0024574551b3d687ee0575757b3ad64e311ee62bd94158d37e24198c43973099f1fc0c41614d950246513a081abf76cfe7061f6863281e6352fd1670949c148dd6dfb0d25f5b3689b1d5c965b0eacbf4e0932ad28e22ab9ae945633f4744bd3c8cee0a7fdf085b9000f449c5f7afa30b83e0b6fd7b0c8429c9467ff9715347c891e25fa24a205861aa715e6a09bd0488237dc2723414d9891381524e8ca7c0894664f835653631ab55ee7e3de433e4ff001b30949124e4c10c8b6ad0a479b3f9c937b2cf5bc0095ad600a0a41a0e9faee174a1c605e161c6c7a313539650b0113190f1a8368e60d5b24f30ff008ea7f0bf867fa6595feeb6978f1fe0f9c26177f4d63a51a9235184750e7d18811339cd000000c75f000e00380380ae390c350def826ed42ad051fa6f501c50f9b699c3b69cbeb76476d202bf3ac985b6e0e968be66572893e6a744540bd9722e5c87956848629bc2559306bd113e8653d3b6aff651dfad7a3ac8b02958cba02a93ccf525757039bae6cff090e1d90688e8aa233ee86a4c4a3e0586d6b2340522e47dcb7d0046d8a5acb05a123ee25d2b230b2ada6e2e2f9ede3c05202520ec2487b0d56562529d8b3393bca76adca4ec1bca508abb001babc007915d84fe3dd14e207e3c62f8379da2a3b861fb6629d28dba53b6ea388ebfed866bf6dfb553455e91ed547ae92e9445253a4fdf3efb4f8ebdfbe7d3c78f1ee0bb9e13e358e942a4ed49e22cff00eeb35fdd7ebfffd9} icon.\par}
{\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Footnotes\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Here is a footnote reference,{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.\par}
diff --git a/tests/writer.texinfo b/tests/writer.texinfo
index 3344845b0..4e08e8f63 100644
--- a/tests/writer.texinfo
+++ b/tests/writer.texinfo
@@ -101,7 +101,6 @@ Level 5
@subsection Level 3
with no blank line
-
@node Level 2
@section Level 2
with no blank line
@@ -136,7 +135,6 @@ E-mail style:
@quotation
This is a block quote. It is pretty short.
-
@end quotation
@quotation
Code in a block quote:
@@ -159,11 +157,9 @@ Nested block quotes:
@quotation
nested
-
@end quotation
@quotation
nested
-
@end quotation
@end quotation
This should not be a block quote: 2 > 1.
@@ -291,7 +287,6 @@ Minus 3
@end itemize
-
@node Ordered
@section Ordered
Tight:
@@ -360,7 +355,6 @@ Item 3.
@end enumerate
-
@node Nested
@section Nested
@itemize
@@ -421,7 +415,6 @@ Third
@end enumerate
-
@node Tabs and spaces
@section Tabs and spaces
@itemize
@@ -442,7 +435,6 @@ this is an example list item indented with spaces
@end itemize
-
@node Fancy list markers
@section Fancy list markers
@enumerate 2
@@ -583,7 +575,6 @@ orange fruit
@quotation
orange block quote
-
@end quotation
@end table
@@ -639,7 +630,6 @@ sublist
@end table
-
@node HTML Blocks
@chapter HTML Blocks
Simple block on one line:
@@ -799,7 +789,6 @@ Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
@end tex
-
@iftex
@bigskip@hrule@bigskip
@end iftex
@@ -902,7 +891,6 @@ Just a @uref{/url/,URL}.
@uref{,Empty}.
-
@node Reference
@section Reference
Foo @uref{/url/,bar}.
@@ -930,7 +918,6 @@ Foo @uref{/url/,bar}.
Foo @uref{/url/,biz}.
-
@node With ampersands
@section With ampersands
Here's a @uref{http://example.com/?foo=1&bar=2,link with an ampersand in the URL}.
@@ -941,7 +928,6 @@ Here's an @uref{/script?foo=1&bar=2,inline link}.
Here's an @uref{/script?foo=1&bar=2,inline link in pointy braces}.
-
@node Autolinks
@section Autolinks
With an ampersand: @url{http://example.com/?foo=1&bar=2}
@@ -959,7 +945,6 @@ An e-mail address: @uref{mailto:nobody@@nowhere.net,@code{nobody@@nowhere.net}}
@quotation
Blockquoted: @url{http://example.com/}
-
@end quotation
Auto-links should not occur here: @code{<http://example.com/>}
@verbatim
@@ -1004,7 +989,6 @@ If you want@comma{} you can indent every line@comma{} but you can also be lazy a
@quotation
Notes can go in quotes.@footnote{In quote.}
-
@end quotation
@enumerate
@item
diff --git a/tests/writer.textile b/tests/writer.textile
new file mode 100644
index 000000000..51aca5a08
--- /dev/null
+++ b/tests/writer.textile
@@ -0,0 +1,716 @@
+This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite.
+
+<hr />
+
+h1. Headers
+
+h2. Level 2 with an "embedded link":/url
+
+h3. Level 3 with _emphasis_
+
+h4. Level 4
+
+h5. Level 5
+
+h1. Level 1
+
+h2. Level 2 with _emphasis_
+
+h3. Level 3
+
+with no blank line
+
+h2. Level 2
+
+with no blank line
+
+<hr />
+
+h1. 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. &#42; criminey.
+
+There should be a hard line break
+here.
+
+<hr />
+
+h1. Block Quotes
+
+E-mail style:
+
+bq. This is a block quote. It is pretty short.
+
+
+
+<blockquote>
+
+Code in a block quote:
+
+bc. sub status {
+ print "working";
+}
+
+
+A list:
+
+# item one
+# item two
+
+Nested block quotes:
+
+bq. nested
+
+
+
+bq. nested
+
+
+
+</blockquote>
+
+This should not be a block quote: 2 &gt; 1.
+
+And a following paragraph.
+
+<hr />
+
+h1. Code Blocks
+
+Code:
+
+<pre>
+---- (should be four hyphens)
+
+sub status {
+ print &quot;working&quot;;
+}
+
+this code block is indented by one tab
+</pre>
+
+And:
+
+<pre>
+ this code block is indented by two tabs
+
+These should not be escaped: \$ \\ \&gt; \[ \{
+</pre>
+
+<hr />
+
+h1. Lists
+
+h2. 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
+
+h2. Ordered
+
+Tight:
+
+# First
+# Second
+# Third
+
+and:
+
+# One
+# Two
+# Three
+
+Loose using tabs:
+
+# First
+# Second
+# Third
+
+and using spaces:
+
+# One
+# Two
+# Three
+
+Multiple paragraphs:
+
+<ol style="list-style-type: decimal;">
+<li><p>Item 1, graf one.</p>
+<p>Item 1. graf two. The quick brown fox jumped over the lazy dog's back.</p></li>
+<li><p>Item 2.</p></li>
+<li><p>Item 3.</p></li>
+</ol>
+
+h2. Nested
+
+* Tab
+** Tab
+*** Tab
+
+Here's another:
+
+# First
+# Second:
+#* Fee
+#* Fie
+#* Foe
+# Third
+
+Same thing but with paragraphs:
+
+# First
+# Second:
+#* Fee
+#* Fie
+#* Foe
+# Third
+
+h2. 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
+
+h2. Fancy list markers
+
+<ol start="2" style="list-style-type: decimal;">
+<li>begins with 2</li>
+<li><p>and now 3</p>
+<p>with a continuation</p>
+<ol start="4" style="list-style-type: lower-roman;">
+<li>sublist with roman numerals, starting with 4</li>
+<li>more items
+<ol style="list-style-type: upper-alpha;">
+<li>a subsublist</li>
+<li>a subsublist</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+
+Nesting:
+
+<ol style="list-style-type: upper-alpha;">
+<li>Upper Alpha
+<ol style="list-style-type: upper-roman;">
+<li>Upper Roman.
+<ol start="6" style="list-style-type: decimal;">
+<li>Decimal start with 6
+<ol start="3" style="list-style-type: lower-alpha;">
+<li>Lower alpha with paren</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+</li>
+</ol>
+
+Autonumbering:
+
+# Autonumber.
+# More.
+## Nested.
+
+Should not be a list item:
+
+M.A. 2007
+
+B. Williams
+
+<hr />
+
+h1. Definition Lists
+
+Tight using spaces:
+
+<dl>
+<dt>apple</dt>
+<dd>red fruit</dd>
+<dt>orange</dt>
+<dd>orange fruit</dd>
+<dt>banana</dt>
+<dd>yellow fruit</dd>
+</dl>
+
+Tight using tabs:
+
+<dl>
+<dt>apple</dt>
+<dd>red fruit</dd>
+<dt>orange</dt>
+<dd>orange fruit</dd>
+<dt>banana</dt>
+<dd>yellow fruit</dd>
+</dl>
+
+Loose:
+
+<dl>
+<dt>apple</dt>
+<dd><p>red fruit</p></dd>
+<dt>orange</dt>
+<dd><p>orange fruit</p></dd>
+<dt>banana</dt>
+<dd><p>yellow fruit</p></dd>
+</dl>
+
+Multiple blocks with italics:
+
+<dl>
+<dt>_apple_</dt>
+<dd><p>red fruit</p>
+<p>contains seeds, crisp, pleasant to taste</p></dd>
+<dt>_orange_</dt>
+<dd><p>orange fruit</p>
+bc. { orange code block }
+
+
+bq. <p>orange block quote</p>
+
+</dd>
+</dl>
+
+Multiple definitions, tight:
+
+<dl>
+<dt>apple</dt>
+<dd>red fruit</dd>
+<dd>computer</dd>
+<dt>orange</dt>
+<dd>orange fruit</dd>
+<dd>bank</dd>
+</dl>
+
+Multiple definitions, loose:
+
+<dl>
+<dt>apple</dt>
+<dd><p>red fruit</p></dd>
+<dd><p>computer</p></dd>
+<dt>orange</dt>
+<dd><p>orange fruit</p></dd>
+<dd><p>bank</p></dd>
+</dl>
+
+Blank line after term, indented marker, alternate markers:
+
+<dl>
+<dt>apple</dt>
+<dd><p>red fruit</p></dd>
+<dd><p>computer</p></dd>
+<dt>orange</dt>
+<dd><p>orange fruit</p>
+<ol style="list-style-type: decimal;">
+<li>sublist</li>
+<li>sublist</li>
+</ol>
+</dd>
+</dl>
+
+h1. HTML Blocks
+
+Simple block on one line:
+
+<div>
+foo
+</div>
+
+And nested without indentation:
+
+<div>
+<div>
+<div>
+foo
+</div>
+</div>
+<div>
+bar
+</div>
+</div>
+
+Interpreted markdown in a table:
+
+<table>
+<tr>
+<td>
+This is _emphasized_
+</td>
+<td>
+And this is *strong*
+</td>
+</tr>
+</table>
+
+<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
+
+Here's a simple block:
+
+<div>
+
+foo
+</div>
+
+This should be a code block, though:
+
+bc. <div>
+ foo
+</div>
+
+
+As should this:
+
+bc. <div>foo</div>
+
+
+Now, nested:
+
+<div>
+ <div>
+ <div>
+
+foo
+</div>
+ </div>
+</div>
+
+This should just be an HTML comment:
+
+<!-- Comment -->
+
+Multiline:
+
+<!--
+Blah
+Blah
+-->
+
+<!--
+ This is another comment.
+-->
+
+Code block:
+
+bc. <!-- Comment -->
+
+
+Just plain comment, with trailing spaces on the line:
+
+<!-- foo -->
+
+Code:
+
+bc. <hr />
+
+
+Hr's:
+
+<hr>
+
+<hr />
+
+<hr />
+
+<hr>
+
+<hr />
+
+<hr />
+
+<hr class="foo" id="bar" />
+
+<hr class="foo" id="bar" />
+
+<hr class="foo" id="bar">
+
+<hr />
+
+h1. Inline Markup
+
+This is _emphasized_, and so _is this_.
+
+This is *strong*, and so *is this*.
+
+An _"emphasized link":/url_.
+
+*_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: a[^bc^]d a[^_hello_^] a[^hello there^].
+
+Subscripts: H[~2~]O, H[~23~]O, H[~many of them~]O.
+
+These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.
+
+<hr />
+
+h1. 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":http://example.com/?foo=1&bar=2".
+
+Some dashes: one -- two -- three -- four -- five.
+
+Dashes between numbers: 5 - 7, 255 - 66, 1987 - 1999.
+
+Ellipses...and...and....
+
+<hr />
+
+h1. LaTeX
+
+*
+* <span class="math">2+2=4</math>
+* <span class="math">x \in y</math>
+* <span class="math">\alpha \wedge \omega</math>
+* <span class="math">223</math>
+* <span class="math">p</math>-Tree
+* Here's some display math: <span class="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: <span class="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:
+
+
+<hr />
+
+h1. Special Characters
+
+Here is some unicode:
+
+* I hat: Î
+* o umlaut: ö
+* section: §
+* set membership: ∈
+* copyright: ©
+
+AT&amp;T has an ampersand in their name.
+
+AT&amp;T is another way to write it.
+
+This &amp; that.
+
+4 &lt; 5.
+
+6 &gt; 5.
+
+Backslash: \
+
+Backtick: `
+
+Asterisk: &#42;
+
+Underscore: &#95;
+
+Left brace: {
+
+Right brace: }
+
+Left bracket: [
+
+Right bracket: ]
+
+Left paren: (
+
+Right paren: )
+
+Greater-than: &gt;
+
+Hash: #
+
+Period: .
+
+Bang: !
+
+Plus: +
+
+Minus: -
+
+<hr />
+
+h1. Links
+
+h2. Explicit
+
+Just a "URL":/url/.
+
+"URL and title":/url/.
+
+"URL and title":/url/.
+
+"URL and title":/url/.
+
+"URL and title":/url/
+
+"URL and title":/url/
+
+"with&#95;underscore":/url/with_underscore
+
+"Email link":mailto:nobody@nowhere.net
+
+"Empty":.
+
+h2. Reference
+
+Foo "bar":/url/.
+
+Foo "bar":/url/.
+
+Foo "bar":/url/.
+
+With "embedded [brackets]":/url/.
+
+"b":/url/ by itself should be a link.
+
+Indented "once":/url.
+
+Indented "twice":/url.
+
+Indented "thrice":/url.
+
+This should [not][] be a link.
+
+bc. [not]: /url
+
+
+Foo "bar":/url/.
+
+Foo "biz":/url/.
+
+h2. With ampersands
+
+Here's a "link with an ampersand in the URL":http://example.com/?foo=1&bar=2.
+
+Here's a link with an amersand in the link text: "AT&amp;T":http://att.com/.
+
+Here's an "inline link":/script?foo=1&bar=2.
+
+Here's an "inline link in pointy braces":/script?foo=1&bar=2.
+
+h2. Autolinks
+
+With an ampersand: "http://example.com/?foo=1&bar=2":http://example.com/?foo=1&bar=2
+
+* In a list?
+* "http://example.com/":http://example.com/
+* It should.
+
+An e-mail address: "nobody@nowhere.net":mailto:nobody@nowhere.net
+
+bq. Blockquoted: "http://example.com/":http://example.com/
+
+
+
+Auto-links should not occur here: @<http://example.com/>@
+
+bc. or here: <http://example.com/>
+
+
+<hr />
+
+h1. 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.
+
+<hr />
+
+h1. 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]
+
+bq. Notes can go in quotes.[4]
+
+
+
+# And in list items.[5]
+
+This paragraph should not be part of the note, as it is not indented.
+
+
+fn1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.
+
+
+fn2. 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).
+
+bc. { <code> }
+
+
+If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.
+
+
+fn3. This is _easier_ to type. Inline notes may contain "links":http://google.com and @]@ verbatim characters, as well as [bracketed text].
+
+
+fn4. In quote.
+
+
+fn5. In list.
+