git.iko.soy/typeable/pandoc
on master help sign in
Made `smart` extension default for pandoc markdown.

Updated tests.

commit4f6e6247f9a672770a6d7a55a3aa2709a860ff38 authorJohn MacFarlane <jgm@berkeley.edu> dateSun 15 Jan 2017, 20:42 (10 years ago) parenta58369a
33 files changed+174−171
MANUAL.txt+20−21 pandoc.hs−8 src/Text/Pandoc/Extensions.hs+1 tests/Tests/Old.hs+2−2 tests/Tests/Readers/Docx.hs+7−5 tests/Tests/Readers/LaTeX.hs+2−1 tests/Tests/Readers/Markdown.hs+7−5 tests/Tests/Readers/Odt.hs+8−8 tests/Tests/Readers/Org.hs+3−3 tests/Tests/Writers/Markdown.hs+9−6 tests/fb2/basic.fb2+2−1 tests/fb2/titles.fb2+2−1 tests/markdown-citations.native+8−8 tests/tables-rstsubset.native+4−4 tests/tables.asciidoc+4−4 tests/tables.docbook+4−4 tests/tables.docbook5+4−4 tests/tables.dokuwiki+4−4 tests/tables.fb2+2−1 tests/tables.haddock+4−4 tests/tables.html+4−4 tests/tables.icml+4−4 tests/tables.man+4−4 tests/tables.mediawiki+4−4 tests/tables.native+4−4 tests/tables.opendocument+4−4 tests/tables.plain+4−4 tests/tables.rst+4−4 tests/tables.rtf+4−4 tests/tables.tei+3−3 tests/tables.zimwiki+4−4 tests/writer.markdown+27−27 tests/writer.opml+7−7
MANUAL.txt+20−21
@@ -706,12 +706,10 @@ Options affecting specific writers
706706 than parsing ligatures for quotation marks and dashes. In
707707 writing LaTeX or ConTeXt, print unicode quotation mark and
708708 dash characters literally, rather than converting them to
709− the standard ASCII TeX ligatures. Note: normally the `smart`
710− extension is selected automatically for LaTeX and ConTeXt output,
711− but it must be specified explicitly if `--no-tex-ligatures` is
712− selected. If you use literal curly quotes, dashes, and
713− ellipses in your source, then you may want to use
714− `--no-tex-ligatures` without `+smart`.
709+ the standard ASCII TeX ligatures. Note: If you use literal
710+ curly quotes, dashes, and ellipses in your source, then you
711+ may want to use disable the `smart` extension in your
712+ source format.
715713
716714`--listings`
717715
@@ -3180,6 +3178,22 @@ they cannot contain multiple paragraphs). The syntax is as follows:
31803178
31813179Inline and regular footnotes may be mixed freely.
31823180
3181+Typography
3182+----------
3183+
3184+#### Extension: `smart` ####
3185+
3186+Interpret straight quotes as curly quotes, `---` as em-dashes,
3187+`--` as en-dashes, and `...` as ellipses. Nonbreaking spaces are
3188+inserted after certain abbreviations, such as "Mr."
3189+
3190+Note: If you are *writing* Markdown, then the `smart` extension
3191+has the reverse effect: what would have been curly quotes comes
3192+out straight.
3193+
3194+If your LaTeX template or any included header file call
3195+for the [`csquotes`] package, pandoc will detect this
3196+automatically and use `\enquote{...}` for quoted text.
31833197
31843198Citations
31853199---------
@@ -3381,21 +3395,6 @@ in pandoc, but may be enabled by adding `+EXTENSION` to the format
33813395name, where `EXTENSION` is the name of the extension. Thus, for
33823396example, `markdown+hard_line_breaks` is Markdown with hard line breaks.
33833397
3384−#### Extension: `smart` ####
3385−
3386−Interpret straight quotes as curly quotes, `---` as em-dashes,
3387−`--` as en-dashes, and `...` as ellipses. Nonbreaking spaces are
3388−inserted after certain abbreviations, such as "Mr."
3389−
3390−Notes:
3391−
3392− * This extension option is selected automatically when the
3393− output format is `latex` or `context`, unless
3394− `--no-tex-ligatures` is used. It has no effect for `latex` input.
3395− * If your LaTeX template or any included header file call
3396− for the [`csquotes`] package, pandoc will detect this
3397− automatically and use `\enquote{...}` for quoted text.
3398−
33993398#### Extension: `old_dashes` ####
34003399
34013400Selects the pandoc <= 1.8.2.1 behavior for parsing smart dashes:
pandoc.hs−8
@@ -289,14 +289,6 @@ convertWithOpts opts args = do
289289 uriFragment = "" }
290290 _ -> Nothing
291291
292− {- TODO - smart is now an extension, but we should prob make
293− - texligatures one too...
294− let smartExt = if laTeXInput
295− then texLigatures
296− else smart || (texLigatures &&
297− (laTeXOutput || conTeXtOutput))
298− -}
299−
300292 let readerOpts = def{ readerStandalone = standalone'
301293 , readerParseRaw = parseRaw
302294 , readerColumns = columns
src/Text/Pandoc/Extensions.hs+1
@@ -177,6 +177,7 @@ pandocExtensions = extensionsFromList
177177 , Ext_implicit_header_references
178178 , Ext_line_blocks
179179 , Ext_shortcut_reference_links
180+ , Ext_smart
180181 ]
181182
182183plainExtensions :: Extensions
tests/Tests/Old.hs+2−2
@@ -47,13 +47,13 @@ tests = [ testGroup "markdown"
4747 [ testGroup "writer"
4848 $ writerTests "markdown" ++ lhsWriterTests "markdown"
4949 , testGroup "reader"
50− [ test "basic" ["-r", "markdown+smart", "-w", "native", "-s"]
50+ [ test "basic" ["-r", "markdown", "-w", "native", "-s"]
5151 "testsuite.txt" "testsuite.native"
5252 , test "tables" ["-r", "markdown", "-w", "native", "--columns=80"]
5353 "tables.txt" "tables.native"
5454 , test "pipe tables" ["-r", "markdown", "-w", "native", "--columns=80"]
5555 "pipe-tables.txt" "pipe-tables.native"
56− , test "more" ["-r", "markdown+smart", "-w", "native", "-s"]
56+ , test "more" ["-r", "markdown", "-w", "native", "-s"]
5757 "markdown-reader-more.txt" "markdown-reader-more.native"
5858 , lhsReaderTest "markdown+lhs"
5959 ]
tests/Tests/Readers/Docx.hs+7−5
@@ -1,7 +1,6 @@
11module Tests.Readers.Docx (tests) where
22
3−import Text.Pandoc.Options
4−import Text.Pandoc.Readers.Native
3+import Text.Pandoc
54import Text.Pandoc.Definition
65import Tests.Helpers
76import Test.Framework
@@ -26,6 +25,9 @@ data NoNormPandoc = NoNormPandoc {unNoNorm :: Pandoc}
2625noNorm :: Pandoc -> NoNormPandoc
2726noNorm = NoNormPandoc
2827
28+defopts :: ReaderOptions
29+defopts = def{ readerExtensions = getDefaultExtensions "docx" }
30+
2931instance ToString NoNormPandoc where
3032 toString d = purely (writeNative def{ writerTemplate = s }) $ toPandoc d
3133 where s = case d of
@@ -57,7 +59,7 @@ testCompareWithOpts opts name docxFile nativeFile =
5759 buildTest $ testCompareWithOptsIO opts name docxFile nativeFile
5860
5961testCompare :: String -> FilePath -> FilePath -> Test
60−testCompare = testCompareWithOpts def
62+testCompare = testCompareWithOpts defopts
6163
6264testForWarningsWithOptsIO :: ReaderOptions -> String -> FilePath -> [String] -> IO Test
6365testForWarningsWithOptsIO opts name docxFile expected = do
@@ -70,7 +72,7 @@ testForWarningsWithOpts opts name docxFile expected =
7072 buildTest $ testForWarningsWithOptsIO opts name docxFile expected
7173
7274-- testForWarnings :: String -> FilePath -> [String] -> Test
73−-- testForWarnings = testForWarningsWithOpts def
75+-- testForWarnings = testForWarningsWithOpts defopts
7476
7577getMedia :: FilePath -> FilePath -> IO (Maybe B.ByteString)
7678getMedia archivePath mediaPath = do
@@ -95,7 +97,7 @@ compareMediaPathIO mediaPath mediaBag docxPath = do
9597compareMediaBagIO :: FilePath -> IO Bool
9698compareMediaBagIO docxFile = do
9799 df <- B.readFile docxFile
98− mb <- runIOorExplode (readDocx def df >> P.getMediaBag)
100+ mb <- runIOorExplode (readDocx defopts df >> P.getMediaBag)
99101 bools <- mapM
100102 (\(fp, _, _) -> compareMediaPathIO fp mb docxFile)
101103 (mediaDirectory mb)
tests/Tests/Readers/LaTeX.hs+2−1
@@ -9,7 +9,8 @@ import Text.Pandoc.Builder
99import Text.Pandoc
1010
1111latex :: String -> Pandoc
12−latex = purely $ readLaTeX def
12+latex = purely $ readLaTeX def{
13+ readerExtensions = getDefaultExtensions "latex" }
1314
1415infix 4 =:
1516(=:) :: ToString c
tests/Tests/Readers/Markdown.hs+7−5
@@ -9,18 +9,20 @@ import Text.Pandoc.Builder
99import Text.Pandoc
1010
1111markdown :: String -> Pandoc
12−markdown = purely $ readMarkdown def
12+markdown = purely $ readMarkdown def { readerExtensions =
13+ disableExtension Ext_smart pandocExtensions }
1314
1415markdownSmart :: String -> Pandoc
1516markdownSmart = purely $ readMarkdown def { readerExtensions =
16− enableExtension Ext_smart $ readerExtensions def }
17+ enableExtension Ext_smart pandocExtensions }
1718
1819markdownCDL :: String -> Pandoc
1920markdownCDL = purely $ readMarkdown def { readerExtensions = enableExtension
20− Ext_compact_definition_lists $ readerExtensions def }
21+ Ext_compact_definition_lists pandocExtensions }
2122
2223markdownGH :: String -> Pandoc
23−markdownGH = purely $ readMarkdown def { readerExtensions = githubMarkdownExtensions }
24+markdownGH = purely $ readMarkdown def {
25+ readerExtensions = githubMarkdownExtensions }
2426
2527infix 4 =:
2628(=:) :: ToString c
@@ -304,7 +306,7 @@ tests = [ testGroup "inline code"
304306 ]
305307 , testGroup "lhs"
306308 [ test (purely $ readMarkdown def{ readerExtensions = enableExtension
307− Ext_literate_haskell $ readerExtensions def })
309+ Ext_literate_haskell pandocExtensions })
308310 "inverse bird tracks and html" $
309311 "> a\n\n< b\n\n<div>\n"
310312 =?> codeBlockWith ("",["sourceCode","literate","haskell"],[]) "a"
tests/Tests/Readers/Odt.hs+8−8
@@ -1,18 +1,16 @@
11module Tests.Readers.Odt (tests) where
22
33import Control.Monad ( liftM )
4−import Text.Pandoc.Options
5−import Text.Pandoc.Readers.Native
6−import Text.Pandoc.Readers.Markdown
7−import Text.Pandoc.Definition
4+import Text.Pandoc
85import Text.Pandoc.Class (runIO)
96import Tests.Helpers
107import Test.Framework
118import qualified Data.ByteString.Lazy as B
12−import Text.Pandoc.Readers.Odt
139import Text.Pandoc.Writers.Native (writeNative)
1410import qualified Data.Map as M
15−import Text.Pandoc.Error
11+
12+defopts :: ReaderOptions
13+defopts = def{ readerExtensions = getDefaultExtensions "odt" }
1614
1715tests :: [Test]
1816tests = testsComparingToMarkdown ++ testsComparingToNative
@@ -71,7 +69,9 @@ compareOdtToMarkdown :: TestCreator
7169compareOdtToMarkdown opts odtPath markdownPath = do
7270 markdownFile <- Prelude.readFile markdownPath
7371 odtFile <- B.readFile odtPath
74− markdown <- getNoNormVia id "markdown" <$> runIO (readMarkdown opts markdownFile)
72+ markdown <- getNoNormVia id "markdown" <$>
73+ runIO (readMarkdown def{ readerExtensions = pandocExtensions }
74+ markdownFile)
7575 odt <- getNoNormVia id "odt" <$> runIO (readOdt opts odtFile)
7676 return (odt,markdown)
7777
@@ -81,7 +81,7 @@ createTest :: TestCreator
8181 -> FilePath -> FilePath
8282 -> Test
8383createTest creator name path1 path2 =
84− buildTest $ liftM (test id name) (creator def path1 path2)
84+ buildTest $ liftM (test id name) (creator defopts path1 path2)
8585
8686{-
8787--
tests/Tests/Readers/Org.hs+3−3
@@ -9,11 +9,11 @@ import Text.Pandoc
99import Data.List (intersperse)
1010
1111org :: String -> Pandoc
12−org = purely $ readOrg def
13−
12+org = purely $ readOrg def{ readerExtensions = getDefaultExtensions "org" }
13+
1414orgSmart :: String -> Pandoc
1515orgSmart = purely $ readOrg def { readerExtensions =
16− enableExtension Ext_smart $ readerExtensions def }
16+ enableExtension Ext_smart $ getDefaultExtensions "org" }
1717
1818infix 4 =:
1919(=:) :: ToString c
tests/Tests/Writers/Markdown.hs+9−6
@@ -8,8 +8,11 @@ import Text.Pandoc
88import Tests.Helpers
99import Text.Pandoc.Arbitrary()
1010
11+defopts :: WriterOptions
12+defopts = def{ writerExtensions = pandocExtensions }
13+
1114markdown :: (ToPandoc a) => a -> String
12−markdown = purely (writeMarkdown def) . toPandoc
15+markdown = purely (writeMarkdown defopts) . toPandoc
1316
1417markdownWithOpts :: (ToPandoc a) => WriterOptions -> a -> String
1518markdownWithOpts opts x = purely (writeMarkdown opts) $ toPandoc x
@@ -84,7 +87,7 @@ noteTestDoc =
8487
8588noteTests :: Test
8689noteTests = testGroup "note and reference location"
87− [ test (markdownWithOpts def)
90+ [ test (markdownWithOpts defopts)
8891 "footnotes at the end of a document" $
8992 noteTestDoc =?>
9093 (unlines $ [ "First Header"
@@ -105,7 +108,7 @@ noteTests = testGroup "note and reference location"
105108 , ""
106109 , "[^2]: The second note."
107110 ])
108− , test (markdownWithOpts def{writerReferenceLocation=EndOfBlock})
111+ , test (markdownWithOpts defopts{writerReferenceLocation=EndOfBlock})
109112 "footnotes at the end of blocks" $
110113 noteTestDoc =?>
111114 (unlines $ [ "First Header"
@@ -126,7 +129,7 @@ noteTests = testGroup "note and reference location"
126129 , ""
127130 , "Some more text."
128131 ])
129− , test (markdownWithOpts def{writerReferenceLocation=EndOfBlock, writerReferenceLinks=True})
132+ , test (markdownWithOpts defopts{writerReferenceLocation=EndOfBlock, writerReferenceLinks=True})
130133 "footnotes and reference links at the end of blocks" $
131134 noteTestDoc =?>
132135 (unlines $ [ "First Header"
@@ -149,7 +152,7 @@ noteTests = testGroup "note and reference location"
149152 , ""
150153 , "Some more text."
151154 ])
152− , test (markdownWithOpts def{writerReferenceLocation=EndOfSection})
155+ , test (markdownWithOpts defopts{writerReferenceLocation=EndOfSection})
153156 "footnotes at the end of section" $
154157 noteTestDoc =?>
155158 (unlines $ [ "First Header"
@@ -179,7 +182,7 @@ shortcutLinkRefsTests =
179182 (=:) :: (ToString a, ToPandoc a)
180183
181184 => String -> (a, String) -> Test
182− (=:) = test (purely (writeMarkdown def{writerReferenceLinks = True}) . toPandoc)
185+ (=:) = test (purely (writeMarkdown defopts{writerReferenceLinks = True}) . toPandoc)
183186 in testGroup "Shortcut reference links"
184187 [ "Simple link (shortcutable)"
185188 =: (para (link "/url" "title" "foo"))
tests/fb2/basic.fb2+2−1
@@ -1,2 +1,3 @@
11<?xml version="1.0" encoding="UTF-8"?>
2−<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><title><p>Top-level title</p></title><section><title><p>Section</p></title><section><title><p>Subsection</p></title><p>This <emphasis>emphasized</emphasis> <strong>strong</strong> <code>verbatim</code> markdown. See this link<a l:href="#l1" type="note"><sup>[1]</sup></a>.</p><p>Ordered list:</p><p> 1. one</p><p> 2. two</p><p> 3. three</p><cite><p>Blockquote is for citatons.</p></cite><empty-line /><p><code>Code</code></p><p><code>block</code></p><p><code>is</code></p><p><code>for</code></p><p><code>code.</code></p><empty-line /><p><strikethrough>Strikeout</strikethrough> is Pandoc&#39;s extension. Superscript and subscripts too: H<sub>2</sub>O is a liquid<a l:href="#n2" type="note"><sup>[2]</sup></a>. 2<sup>10</sup> is 1024.</p><p>Math is another Pandoc extension: <code>E = m c^2</code>.</p></section></section></section></body><body name="notes"><section id="l1"><title><p>1</p></title><p><code>http://example.com/</code></p></section><section id="n2"><title><p>2</p></title><p>Sometimes.</p></section></body></FictionBook>
2+<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><title><p>Top-level title</p></title><section><title><p>Section</p></title><section><title><p>Subsection</p></title><p>This <emphasis>emphasized</emphasis> <strong>strong</strong> <code>verbatim</code> markdown. See this link<a l:href="#l1" type="note"><sup>[1]</sup></a>.</p><p>Ordered list:</p><p> 1. one</p><p> 2. two</p><p> 3. three</p><cite><p>Blockquote is for citatons.</p></cite><empty-line /><p><code>Code</code></p><p><code>block</code></p><p><code>is</code></p><p><code>for</code></p><p><code>code.</code></p><empty-line /><p><strikethrough>Strikeout</strikethrough> is Pandoc’s extension. Superscript and subscripts too: H<sub>2</sub>O is a liquid<a l:href="#n2" type="note"><sup>[2]</sup></a>. 2<sup>10</sup> is 1024.</p><p>Math is another Pandoc extension: <code>E = m c^2</code>.</p></section></section></section></body><body name="notes"><section id="l1"><title><p>1</p></title><p><code>http://example.com/</code></p></section><section id="n2"><title><p>2</p></title><p>Sometimes.</p></section></body></FictionBook>
3+
tests/fb2/titles.fb2+2−1
@@ -1,2 +1,3 @@
11<?xml version="1.0" encoding="UTF-8"?>
2−<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><title><p>Simple title</p></title><p>This example tests if Pandoc doesn&#39;t insert forbidden elements in FictionBook titles.</p></section><section><title><p>Emphasized Strong Title</p></title></section><section><title><p>Title with</p><empty-line /><p>line break</p></title></section></body></FictionBook>
2+<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><title><p>Simple title</p></title><p>This example tests if Pandoc doesn’t insert forbidden elements in FictionBook titles.</p></section><section><title><p>Emphasized Strong Title</p></title></section><section><title><p>Title with</p><empty-line /><p>line break</p></title></section></body></FictionBook>
3+
tests/markdown-citations.native+8−8
@@ -3,15 +3,15 @@
33 [[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@nonexistent]"]]]
44 ,[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@nonexistent"]]]
55 ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1"],Space,Str "says",Space,Str "blah."]]
6− ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "30"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30]"],Space,Str "says",Space,Str "blah."]]
7− ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "30,",Space,Str "with",Space,Str "suffix"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30,",Space,Str "with",Space,Str "suffix]"],Space,Str "says",Space,Str "blah."]]
8− ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.",Space,Str "30"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "see",Space,Str "also"], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[-@item2",Space,Str "p.",Space,Str "30;",Space,Str "see",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3]"],Space,Str "says",Space,Str "blah."]]
9− ,[Para [Str "In",Space,Str "a",Space,Str "note.",Note [Para [Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "12"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@\1087\1091\1085\1082\1090\&3",Space,Str "[p.",Space,Str "12]"],Space,Str "and",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "locators",Space,Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@\1087\1091\1085\1082\1090\&3]"],Str "."]]]]
10− ,[Para [Str "A",Space,Str "citation",Space,Str "group",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.",Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "also"], citationSuffix = [Space,Str "p.",Space,Str "34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3",Space,Str "p.",Space,Str "34-35]"],Str "."]]
11− ,[Para [Str "Another",Space,Str "one",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "p.",Space,Str "34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "p.",Space,Str "34-35]"],Str "."]]
6+ ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30]"],Space,Str "says",Space,Str "blah."]]
7+ ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30,",Space,Str "with",Space,Str "suffix"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30,",Space,Str "with",Space,Str "suffix]"],Space,Str "says",Space,Str "blah."]]
8+ ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&30"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "see",Space,Str "also"], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[-@item2",Space,Str "p.",Space,Str "30;",Space,Str "see",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3]"],Space,Str "says",Space,Str "blah."]]
9+ ,[Para [Str "In",Space,Str "a",Space,Str "note.",Note [Para [Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [Str "p.\160\&12"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@\1087\1091\1085\1082\1090\&3",Space,Str "[p.",Space,Str "12]"],Space,Str "and",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "locators",Space,Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@\1087\1091\1085\1082\1090\&3]"],Str "."]]]]
10+ ,[Para [Str "A",Space,Str "citation",Space,Str "group",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.",Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "also"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3",Space,Str "p.",Space,Str "34-35]"],Str "."]]
11+ ,[Para [Str "Another",Space,Str "one",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "p.",Space,Str "34-35]"],Str "."]]
1212 ,[Para [Str "And",Space,Str "another",Space,Str "one",Space,Str "in",Space,Str "a",Space,Str "note.",Note [Para [Str "Some",Space,Str "citations",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.",Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "@\1087\1091\1085\1082\1090\&3;",Space,Str "@item2]"],Str "."]]]]
13− ,[Para [Str "Citation",Space,Str "with",Space,Str "a",Space,Str "suffix",Space,Str "and",Space,Str "locator",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
13+ ,[Para [Str "Citation",Space,Str "with",Space,Str "a",Space,Str "suffix",Space,Str "and",Space,Str "locator",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "pp.\160\&33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
1414 ,[Para [Str "Citation",Space,Str "with",Space,Str "suffix",Space,Str "only",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
15− ,[Para [Str "Now",Space,Str "some",Space,Str "modifiers.",Note [Para [Str "Like",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "author:",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item1]"],Str ",",Space,Str "and",Space,Str "now",Space,Str "Doe",Space,Str "with",Space,Str "a",Space,Str "locator",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.",Space,Str "44"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item2",Space,Str "p.",Space,Str "44]"],Str "."]]]]
15+ ,[Para [Str "Now",Space,Str "some",Space,Str "modifiers.",Note [Para [Str "Like",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "author:",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item1]"],Str ",",Space,Str "and",Space,Str "now",Space,Str "Doe",Space,Str "with",Space,Str "a",Space,Str "locator",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&44"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item2",Space,Str "p.",Space,Str "44]"],Str "."]]]]
1616 ,[Para [Str "With",Space,Str "some",Space,Str "markup",Space,Cite [Citation {citationId = "item1", citationPrefix = [Emph [Str "see"]], citationSuffix = [Space,Str "p.",Space,Strong [Str "32"]], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[*see*",Space,Str "@item1",Space,Str "p.",Space,Str "**32**]"],Str "."]]]
1717,Header 1 ("references",[],[]) [Str "References"]]
tests/tables-rstsubset.native+4−4
@@ -67,8 +67,8 @@
6767 ,[[Plain [Str "Second"]]
6868 ,[Plain [Str "row"]]
6969 ,[Plain [Str "5.0"]]
70− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]
71−,Para [Str "Table:",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."]
70+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]
71+,Para [Str "Table:",Space,Str "Here\8217s",Space,Str "the",Space,Str "caption.",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."]
7272,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"]
7373,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.175,0.1625,0.1875,0.3625]
7474 [[Plain [Str "Centered",Space,Str "Header"]]
@@ -82,7 +82,7 @@
8282 ,[[Plain [Str "Second"]]
8383 ,[Plain [Str "row"]]
8484 ,[Plain [Str "5.0"]]
85− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]
85+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]
8686,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
8787,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1,0.1,0.1,0.1]
8888 [[]
@@ -114,4 +114,4 @@
114114 ,[[Plain [Str "Second"]]
115115 ,[Plain [Str "row"]]
116116 ,[Plain [Str "5.0"]]
117− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]]
117+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]]
tests/tables.asciidoc+4−4
@@ -32,12 +32,12 @@ Simple table indented two spaces:
3232
3333Multiline table with caption:
3434
35−.Here's the caption. It may span multiple lines.
35+.Here’s the caption. It may span multiple lines.
3636[width="78%",cols="^21%,<17%,>20%,<42%",options="header",]
3737|=======================================================================
3838|Centered Header |Left Aligned |Right Aligned |Default aligned
3939|First |row |12.0 |Example of a row that spans multiple lines.
40−|Second |row |5.0 |Here's another one. Note the blank line between rows.
40+|Second |row |5.0 |Here’s another one. Note the blank line between rows.
4141|=======================================================================
4242
4343Multiline table without caption:
@@ -46,7 +46,7 @@ Multiline table without caption:
4646|=======================================================================
4747|Centered Header |Left Aligned |Right Aligned |Default aligned
4848|First |row |12.0 |Example of a row that spans multiple lines.
49−|Second |row |5.0 |Here's another one. Note the blank line between rows.
49+|Second |row |5.0 |Here’s another one. Note the blank line between rows.
5050|=======================================================================
5151
5252Table without column headers:
@@ -63,5 +63,5 @@ Multiline table without column headers:
6363[width="78%",cols="^21%,<17%,>20%,42%",]
6464|=======================================================================
6565|First |row |12.0 |Example of a row that spans multiple lines.
66−|Second |row |5.0 |Here's another one. Note the blank line between rows.
66+|Second |row |5.0 |Here’s another one. Note the blank line between rows.
6767|=======================================================================
tests/tables.docbook+4−4
@@ -222,7 +222,7 @@
222222</para>
223223<table>
224224 <title>
225− Here's the caption. It may span multiple lines.
225+ Here’s the caption. It may span multiple lines.
226226 </title>
227227 <tgroup cols="4">
228228 <colspec colwidth="15*" align="center" />
@@ -271,7 +271,7 @@
271271 5.0
272272 </entry>
273273 <entry>
274− Here's another one. Note the blank line between rows.
274+ Here’s another one. Note the blank line between rows.
275275 </entry>
276276 </row>
277277 </tbody>
@@ -328,7 +328,7 @@
328328 5.0
329329 </entry>
330330 <entry>
331− Here's another one. Note the blank line between rows.
331+ Here’s another one. Note the blank line between rows.
332332 </entry>
333333 </row>
334334 </tbody>
@@ -424,7 +424,7 @@
424424 5.0
425425 </entry>
426426 <entry>
427− Here's another one. Note the blank line between rows.
427+ Here’s another one. Note the blank line between rows.
428428 </entry>
429429 </row>
430430 </tbody>
tests/tables.docbook5+4−4
@@ -222,7 +222,7 @@
222222</para>
223223<table>
224224 <title>
225− Here's the caption. It may span multiple lines.
225+ Here’s the caption. It may span multiple lines.
226226 </title>
227227 <tgroup cols="4">
228228 <colspec colwidth="15*" align="center" />
@@ -271,7 +271,7 @@
271271 5.0
272272 </entry>
273273 <entry>
274− Here's another one. Note the blank line between rows.
274+ Here’s another one. Note the blank line between rows.
275275 </entry>
276276 </row>
277277 </tbody>
@@ -328,7 +328,7 @@
328328 5.0
329329 </entry>
330330 <entry>
331− Here's another one. Note the blank line between rows.
331+ Here’s another one. Note the blank line between rows.
332332 </entry>
333333 </row>
334334 </tbody>
@@ -424,7 +424,7 @@
424424 5.0
425425 </entry>
426426 <entry>
427− Here's another one. Note the blank line between rows.
427+ Here’s another one. Note the blank line between rows.
428428 </entry>
429429 </row>
430430 </tbody>
tests/tables.dokuwiki+4−4
@@ -23,16 +23,16 @@ Demonstration of simple table syntax.
2323
2424Multiline table with caption:
2525
26−Here's the caption. It may span multiple lines.
26+Here’s the caption. It may span multiple lines.
2727^ Centered Header ^Left Aligned ^ Right Aligned^Default aligned ^
2828| First |row | 12.0|Example of a row that spans multiple lines. |
29−| Second |row | 5.0|Here's another one. Note the blank line between rows. |
29+| Second |row | 5.0|Here’s another one. Note the blank line between rows. |
3030
3131Multiline table without caption:
3232
3333^ Centered Header ^Left Aligned ^ Right Aligned^Default aligned ^
3434| First |row | 12.0|Example of a row that spans multiple lines. |
35−| Second |row | 5.0|Here's another one. Note the blank line between rows. |
35+| Second |row | 5.0|Here’s another one. Note the blank line between rows. |
3636
3737Table without column headers:
3838
@@ -43,5 +43,5 @@ Table without column headers:
4343Multiline table without column headers:
4444
4545| First |row | 12.0|Example of a row that spans multiple lines. |
46−| Second |row | 5.0|Here's another one. Note the blank line between rows.|
46+| Second |row | 5.0|Here’s another one. Note the blank line between rows.|
4747
tests/tables.fb2+2−1
@@ -1,2 +1,3 @@
11<?xml version="1.0" encoding="UTF-8"?>
2−<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><p>Simple table with caption:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis>Demonstration of simple table syntax.</emphasis></p><p>Simple table without caption:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis /></p><p>Simple table indented two spaces:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis>Demonstration of simple table syntax.</emphasis></p><p>Multiline table with caption:</p><table><tr><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><tr><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><td align="center">Second</td><td align="left">row</td><td align="right">5.0</td><td align="left">Here&#39;s another one. Note the blank line between rows.</td></tr></table><p><emphasis>Here&#39;s the caption. It may span multiple lines.</emphasis></p><p>Multiline table without caption:</p><table><tr><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><tr><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><td align="center">Second</td><td align="left">row</td><td align="right">5.0</td><td align="left">Here&#39;s another one. Note the blank line between rows.</td></tr></table><p><emphasis /></p><p>Table without column headers:</p><table><tr><th align="right" /><th align="left" /><th align="center" /><th align="right" /></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="right">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="right">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="right">1</td></tr></table><p><emphasis /></p><p>Multiline table without column headers:</p><table><tr><th align="center" /><th align="left" /><th align="right" /><th align="left" /></tr><tr><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><td align="center">Second</td><td align="left">row</td><td align="right">5.0</td><td align="left">Here&#39;s another one. Note the blank line between rows.</td></tr></table><p><emphasis /></p></section></body></FictionBook>
2+<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section><p>Simple table with caption:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis>Demonstration of simple table syntax.</emphasis></p><p>Simple table without caption:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis /></p><p>Simple table indented two spaces:</p><table><tr><th align="right">Right</th><th align="left">Left</th><th align="center">Center</th><th align="left">Default</th></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="left">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="left">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="left">1</td></tr></table><p><emphasis>Demonstration of simple table syntax.</emphasis></p><p>Multiline table with caption:</p><table><tr><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><tr><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><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></table><p><emphasis>Here’s the caption. It may span multiple lines.</emphasis></p><p>Multiline table without caption:</p><table><tr><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><tr><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><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></table><p><emphasis /></p><p>Table without column headers:</p><table><tr><th align="right" /><th align="left" /><th align="center" /><th align="right" /></tr><tr><td align="right">12</td><td align="left">12</td><td align="center">12</td><td align="right">12</td></tr><tr><td align="right">123</td><td align="left">123</td><td align="center">123</td><td align="right">123</td></tr><tr><td align="right">1</td><td align="left">1</td><td align="center">1</td><td align="right">1</td></tr></table><p><emphasis /></p><p>Multiline table without column headers:</p><table><tr><th align="center" /><th align="left" /><th align="right" /><th align="left" /></tr><tr><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><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></table><p><emphasis /></p></section></body></FictionBook>
3+
tests/tables.haddock+4−4
@@ -35,12 +35,12 @@ Multiline table with caption:
3535> First row 12.0 Example of a row that
3636> spans multiple lines.
3737>
38−> Second row 5.0 Here\'s another one. Note
38+> Second row 5.0 Here’s another one. Note
3939> the blank line between
4040> rows.
4141> --------------------------------------------------------------
4242>
43−> Here\'s the caption. It may span multiple lines.
43+> Here’s the caption. It may span multiple lines.
4444
4545Multiline table without caption:
4646
@@ -51,7 +51,7 @@ Multiline table without caption:
5151> First row 12.0 Example of a row that
5252> spans multiple lines.
5353>
54−> Second row 5.0 Here\'s another one. Note
54+> Second row 5.0 Here’s another one. Note
5555> the blank line between
5656> rows.
5757> --------------------------------------------------------------
@@ -70,7 +70,7 @@ Multiline table without column headers:
7070> First row 12.0 Example of a row that
7171> spans multiple lines.
7272>
73−> Second row 5.0 Here\'s another one. Note
73+> Second row 5.0 Here’s another one. Note
7474> the blank line between
7575> rows.
7676> ----------- ---------- ------------ --------------------------
tests/tables.html+4−4
@@ -95,7 +95,7 @@
9595</table>
9696<p>Multiline table with caption:</p>
9797<table style="width:79%;">
98−<caption>Here's the caption. It may span multiple lines.</caption>
98+<caption>Here’s the caption. It may span multiple lines.</caption>
9999<colgroup>
100100<col width="15%" />
101101<col width="13%" />
@@ -121,7 +121,7 @@
121121<td align="center">Second</td>
122122<td align="left">row</td>
123123<td align="right">5.0</td>
124−<td align="left">Here's another one. Note the blank line between rows.</td>
124+<td align="left">Here’s another one. Note the blank line between rows.</td>
125125</tr>
126126</tbody>
127127</table>
@@ -152,7 +152,7 @@
152152<td align="center">Second</td>
153153<td align="left">row</td>
154154<td align="right">5.0</td>
155−<td align="left">Here's another one. Note the blank line between rows.</td>
155+<td align="left">Here’s another one. Note the blank line between rows.</td>
156156</tr>
157157</tbody>
158158</table>
@@ -198,7 +198,7 @@
198198<td align="center">Second</td>
199199<td align="left">row</td>
200200<td align="right">5.0</td>
201−<td>Here's another one. Note the blank line between rows.</td>
201+<td>Here’s another one. Note the blank line between rows.</td>
202202</tr>
203203</tbody>
204204</table>
tests/tables.icml+4−4
@@ -476,14 +476,14 @@
476476 <Cell Name="3:2" AppliedCellStyle="CellStyle/Cell">
477477 <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TablePar &gt; LeftAlign">
478478 <CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
479− <Content>Here's another one. Note the blank line between rows.</Content>
479+ <Content>Here’s another one. Note the blank line between rows.</Content>
480480 </CharacterStyleRange>
481481 </ParagraphStyleRange>
482482 </Cell>
483483</Table>
484484<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TableCaption">
485485 <CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
486− <Content>Here's the caption. It may span multiple lines.</Content>
486+ <Content>Here’s the caption. It may span multiple lines.</Content>
487487 </CharacterStyleRange>
488488</ParagraphStyleRange>
489489<Br />
@@ -578,7 +578,7 @@
578578 <Cell Name="3:2" AppliedCellStyle="CellStyle/Cell">
579579 <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TablePar &gt; LeftAlign">
580580 <CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
581− <Content>Here's another one. Note the blank line between rows.</Content>
581+ <Content>Here’s another one. Note the blank line between rows.</Content>
582582 </CharacterStyleRange>
583583 </ParagraphStyleRange>
584584 </Cell>
@@ -748,7 +748,7 @@
748748 <Cell Name="3:1" AppliedCellStyle="CellStyle/Cell">
749749 <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TablePar">
750750 <CharacterStyleRange AppliedCharacterStyle="$ID/NormalCharacterStyle">
751− <Content>Here's another one. Note the blank line between rows.</Content>
751+ <Content>Here’s another one. Note the blank line between rows.</Content>
752752 </CharacterStyleRange>
753753 </ParagraphStyleRange>
754754 </Cell>
tests/tables.man+4−4
@@ -135,7 +135,7 @@ T}
135135.PP
136136Multiline table with caption:
137137.PP
138−Here\[aq]s the caption. It may span multiple lines.
138+Here's the caption. It may span multiple lines.
139139.TS
140140tab(@);
141141cw(10.5n) lw(9.6n) rw(11.4n) lw(23.6n).
@@ -165,7 +165,7 @@ row
165165T}@T{
1661665.0
167167T}@T{
168−Here\[aq]s another one.
168+Here's another one.
169169Note the blank line between rows.
170170T}
171171.TE
@@ -201,7 +201,7 @@ row
201201T}@T{
2022025.0
203203T}@T{
204−Here\[aq]s another one.
204+Here's another one.
205205Note the blank line between rows.
206206T}
207207.TE
@@ -261,7 +261,7 @@ row
261261T}@T{
2622625.0
263263T}@T{
264−Here\[aq]s another one.
264+Here's another one.
265265Note the blank line between rows.
266266T}
267267.TE
tests/tables.mediawiki+4−4
@@ -75,7 +75,7 @@ Simple table indented two spaces:
7575Multiline table with caption:
7676
7777{|
78−|+ Here's the caption. It may span multiple lines.
78+|+ Here’s the caption. It may span multiple lines.
7979!align="center" width="15%"| Centered Header
8080!width="13%"| Left Aligned
8181!align="right" width="16%"| Right Aligned
@@ -89,7 +89,7 @@ Multiline table with caption:
8989|align="center"| Second
9090| row
9191|align="right"| 5.0
92−| Here's another one. Note the blank line between rows.
92+| Here’s another one. Note the blank line between rows.
9393|}
9494
9595Multiline table without caption:
@@ -108,7 +108,7 @@ Multiline table without caption:
108108|align="center"| Second
109109| row
110110|align="right"| 5.0
111−| Here's another one. Note the blank line between rows.
111+| Here’s another one. Note the blank line between rows.
112112|}
113113
114114Table without column headers:
@@ -141,6 +141,6 @@ Multiline table without column headers:
141141|align="center"| Second
142142| row
143143|align="right"| 5.0
144−| Here's another one. Note the blank line between rows.
144+| Here’s another one. Note the blank line between rows.
145145|}
146146
tests/tables.native+4−4
@@ -53,7 +53,7 @@
5353 ,[Plain [Str "1"]]
5454 ,[Plain [Str "1"]]]]
5555,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"]
56−,Table [Str "Here's",Space,Str "the",Space,Str "caption.",SoftBreak,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
56+,Table [Str "Here\8217s",Space,Str "the",Space,Str "caption.",SoftBreak,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
5757 [[Plain [Str "Centered",SoftBreak,Str "Header"]]
5858 ,[Plain [Str "Left",SoftBreak,Str "Aligned"]]
5959 ,[Plain [Str "Right",SoftBreak,Str "Aligned"]]
@@ -65,7 +65,7 @@
6565 ,[[Plain [Str "Second"]]
6666 ,[Plain [Str "row"]]
6767 ,[Plain [Str "5.0"]]
68− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
68+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
6969,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"]
7070,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.3375]
7171 [[Plain [Str "Centered",SoftBreak,Str "Header"]]
@@ -79,7 +79,7 @@
7979 ,[[Plain [Str "Second"]]
8080 ,[Plain [Str "row"]]
8181 ,[Plain [Str "5.0"]]
82− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
82+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]
8383,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"]
8484,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0]
8585 [[]
@@ -111,4 +111,4 @@
111111 ,[[Plain [Str "Second"]]
112112 ,[Plain [Str "row"]]
113113 ,[Plain [Str "5.0"]]
114− ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]]
114+ ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]]
tests/tables.opendocument+4−4
@@ -246,12 +246,12 @@ caption:</text:p>
246246 <text:p text:style-name="P16">5.0</text:p>
247247 </table:table-cell>
248248 <table:table-cell table:style-name="Table4.A1" office:value-type="string">
249− <text:p text:style-name="Table_20_Contents">Here's another one. Note the
249+ <text:p text:style-name="Table_20_Contents">Here’s another one. Note the
250250 blank line between rows.</text:p>
251251 </table:table-cell>
252252 </table:table-row>
253253</table:table>
254−<text:p text:style-name="Table">Here's the caption. It may span multiple
254+<text:p text:style-name="Table">Here’s the caption. It may span multiple
255255lines.</text:p>
256256<text:p text:style-name="First_20_paragraph">Multiline table without
257257caption:</text:p>
@@ -302,7 +302,7 @@ caption:</text:p>
302302 <text:p text:style-name="P20">5.0</text:p>
303303 </table:table-cell>
304304 <table:table-cell table:style-name="Table5.A1" office:value-type="string">
305− <text:p text:style-name="Table_20_Contents">Here's another one. Note the
305+ <text:p text:style-name="Table_20_Contents">Here’s another one. Note the
306306 blank line between rows.</text:p>
307307 </table:table-cell>
308308 </table:table-row>
@@ -390,7 +390,7 @@ headers:</text:p>
390390 <text:p text:style-name="P30">5.0</text:p>
391391 </table:table-cell>
392392 <table:table-cell table:style-name="Table7.A1" office:value-type="string">
393− <text:p text:style-name="Table_20_Contents">Here's another one. Note the
393+ <text:p text:style-name="Table_20_Contents">Here’s another one. Note the
394394 blank line between rows.</text:p>
395395 </table:table-cell>
396396 </table:table-row>
tests/tables.plain+4−4
@@ -35,12 +35,12 @@ Multiline table with caption:
3535 First row 12.0 Example of a row that
3636 spans multiple lines.
3737
38− Second row 5.0 Here's another one. Note
38+ Second row 5.0 Here’s another one. Note
3939 the blank line between
4040 rows.
4141 --------------------------------------------------------------
4242
43− : Here's the caption. It may span multiple lines.
43+ : Here’s the caption. It may span multiple lines.
4444
4545Multiline table without caption:
4646
@@ -51,7 +51,7 @@ Multiline table without caption:
5151 First row 12.0 Example of a row that
5252 spans multiple lines.
5353
54− Second row 5.0 Here's another one. Note
54+ Second row 5.0 Here’s another one. Note
5555 the blank line between
5656 rows.
5757 --------------------------------------------------------------
@@ -70,7 +70,7 @@ Multiline table without column headers:
7070 First row 12.0 Example of a row that
7171 spans multiple lines.
7272
73− Second row 5.0 Here's another one. Note
73+ Second row 5.0 Here’s another one. Note
7474 the blank line between
7575 rows.
7676 ----------- ---------- ------------ --------------------------
tests/tables.rst+4−4
@@ -47,12 +47,12 @@ Multiline table with caption:
4747| First | row | 12.0 | Example of a row that |
4848| | | | spans multiple lines. |
4949+-------------+------------+--------------+----------------------------+
50−| Second | row | 5.0 | Here's another one. Note |
50+| Second | row | 5.0 | Here’s another one. Note |
5151| | | | the blank line between |
5252| | | | rows. |
5353+-------------+------------+--------------+----------------------------+
5454
55−Table: Here's the caption. It may span multiple lines.
55+Table: Here’s the caption. It may span multiple lines.
5656
5757Multiline table without caption:
5858
@@ -63,7 +63,7 @@ Multiline table without caption:
6363| First | row | 12.0 | Example of a row that |
6464| | | | spans multiple lines. |
6565+-------------+------------+--------------+----------------------------+
66−| Second | row | 5.0 | Here's another one. Note |
66+| Second | row | 5.0 | Here’s another one. Note |
6767| | | | the blank line between |
6868| | | | rows. |
6969+-------------+------------+--------------+----------------------------+
@@ -84,7 +84,7 @@ Multiline table without column headers:
8484| First | row | 12.0 | Example of a row that |
8585| | | | spans multiple lines. |
8686+-------------+------------+--------------+----------------------------+
87−| Second | row | 5.0 | Here's another one. Note |
87+| Second | row | 5.0 | Here’s another one. Note |
8888| | | | the blank line between |
8989| | | | rows. |
9090+-------------+------------+--------------+----------------------------+
tests/tables.rtf+4−4
@@ -226,11 +226,11 @@
226226\cell}
227227{{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par}
228228\cell}
229−{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here's another one. Note the blank line between rows.\par}
229+{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par}
230230\cell}
231231}
232232\intbl\row}
233−{\pard \ql \f0 \sa180 \li0 \fi0 Here's the caption. It may span multiple lines.\par}
233+{\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's the caption. It may span multiple lines.\par}
234234{\pard \ql \f0 \sa180 \li0 \fi0 Multiline table without caption:\par}
235235{
236236\trowd \trgaph120
@@ -273,7 +273,7 @@
273273\cell}
274274{{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par}
275275\cell}
276−{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here's another one. Note the blank line between rows.\par}
276+{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par}
277277\cell}
278278}
279279\intbl\row}
@@ -352,7 +352,7 @@
352352\cell}
353353{{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par}
354354\cell}
355−{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here's another one. Note the blank line between rows.\par}
355+{{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par}
356356\cell}
357357}
358358\intbl\row}
tests/tables.tei+3−3
@@ -97,7 +97,7 @@
9797 <cell><p>Second</p></cell>
9898 <cell><p>row</p></cell>
9999 <cell><p>5.0</p></cell>
100− <cell><p>Here's another one. Note the blank line between rows.</p></cell>
100+ <cell><p>Here’s another one. Note the blank line between rows.</p></cell>
101101 </row>
102102</table>
103103<p>Multiline table without caption:</p>
@@ -118,7 +118,7 @@
118118 <cell><p>Second</p></cell>
119119 <cell><p>row</p></cell>
120120 <cell><p>5.0</p></cell>
121− <cell><p>Here's another one. Note the blank line between rows.</p></cell>
121+ <cell><p>Here’s another one. Note the blank line between rows.</p></cell>
122122 </row>
123123</table>
124124<p>Table without column headers:</p>
@@ -166,6 +166,6 @@
166166 <cell><p>Second</p></cell>
167167 <cell><p>row</p></cell>
168168 <cell><p>5.0</p></cell>
169− <cell><p>Here's another one. Note the blank line between rows.</p></cell>
169+ <cell><p>Here’s another one. Note the blank line between rows.</p></cell>
170170 </row>
171171</table>
tests/tables.zimwiki+4−4
@@ -26,18 +26,18 @@ Demonstration of simple table syntax.
2626
2727Multiline table with caption:
2828
29−Here's the caption. It may span multiple lines.
29+Here’s the caption. It may span multiple lines.
3030| Centered Header |Left Aligned | Right Aligned|Default aligned |
3131|:-----------------:|:-------------|--------------:|:------------------------------------------------------|
3232| First |row | 12.0|Example of a row that spans multiple lines. |
33−| Second |row | 5.0|Here's another one. Note the blank line between rows. |
33+| Second |row | 5.0|Here’s another one. Note the blank line between rows. |
3434
3535Multiline table without caption:
3636
3737| Centered Header |Left Aligned | Right Aligned|Default aligned |
3838|:-----------------:|:-------------|--------------:|:------------------------------------------------------|
3939| First |row | 12.0|Example of a row that spans multiple lines. |
40−| Second |row | 5.0|Here's another one. Note the blank line between rows. |
40+| Second |row | 5.0|Here’s another one. Note the blank line between rows. |
4141
4242Table without column headers:
4343
@@ -52,5 +52,5 @@ Multiline table without column headers:
5252| First |row | 12.0|Example of a row that spans multiple lines. |
5353|:--------:|:----|-----:|-----------------------------------------------------|
5454| First |row | 12.0|Example of a row that spans multiple lines. |
55−| Second |row | 5.0|Here's another one. Note the blank line between rows.|
55+| Second |row | 5.0|Here’s another one. Note the blank line between rows.|
5656
tests/writer.markdown+27−27
@@ -6,7 +6,7 @@ date: 'July 17, 2006'
66title: Pandoc Test Suite
77---
88
9−This is a set of tests for pandoc. Most of them are adapted from John Gruber’s
9+This is a set of tests for pandoc. Most of them are adapted from John Gruber's
1010markdown test suite.
1111
1212------------------------------------------------------------------------------
@@ -43,13 +43,13 @@ with no blank line
4343Paragraphs
4444==========
4545
46−Here’s a regular paragraph.
46+Here's a regular paragraph.
4747
4848In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item.
4949Because a hard-wrapped line in the middle of a paragraph looked like a list
5050item.
5151
52−Here’s one with a bullet. \* criminey.
52+Here's one with a bullet. \* criminey.
5353
5454There should be a hard line break\
5555here.
@@ -190,7 +190,7 @@ Multiple paragraphs:
190190
1911911. Item 1, graf one.
192192
193− Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.
193+ Item 1. graf two. The quick brown fox jumped over the lazy dog's back.
194194
1951952. Item 2.
196196
@@ -203,7 +203,7 @@ Nested
203203 - Tab
204204 - Tab
205205
206−Here’s another:
206+Here's another:
207207
2082081. First
2092092. Second:
@@ -409,7 +409,7 @@ And this is **strong**
409409</tr>
410410</table>
411411<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
412−Here’s a simple block:
412+Here's a simple block:
413413
414414<div>
415415
@@ -466,7 +466,7 @@ Code:
466466
467467 <hr />
468468
469−Hr’s:
469+Hr's:
470470
471471<hr>
472472<hr />
@@ -513,22 +513,22 @@ spaces: a\^b c\^d, a\~b c\~d.
513513Smart quotes, ellipses, dashes
514514==============================
515515
516−“Hello,” said the spider. “‘Shelob’ is my name.”
516+"Hello," said the spider. "'Shelob' is my name."
517517
518−‘A’, ‘B’, and ‘C’ are letters.
518+'A', 'B', and 'C' are letters.
519519
520−‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’
520+'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.'
521521
522−‘He said, “I want to go.”’ Were you alive in the 70’s?
522+'He said, "I want to go."' Were you alive in the 70's?
523523
524−Here is some quoted ‘`code`’ and a “[quoted
525−link](http://example.com/?foo=1&bar=2)”.
524+Here is some quoted '`code`' and a "[quoted
525+link](http://example.com/?foo=1&bar=2)".
526526
527−Some dashes: one—two — three—four — five.
527+Some dashes: one---two --- three---four --- five.
528528
529−Dashes between numbers: 5–7, 255–66, 1987–1999.
529+Dashes between numbers: 5--7, 255--66, 1987--1999.
530530
531−Ellipses…and…and….
531+Ellipses...and...and....
532532
533533------------------------------------------------------------------------------
534534
@@ -541,19 +541,19 @@ LaTeX
541541- $\alpha \wedge \omega$
542542- $223$
543543- $p$-Tree
544−- Here’s some display math:
544+- Here's some display math:
545545 $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
546−- Here’s one that has a line break in it: $\alpha + \omega \times x^2$.
546+- Here's one that has a line break in it: $\alpha + \omega \times x^2$.
547547
548−These shouldn’t be math:
548+These shouldn't be math:
549549
550550- To get the famous equation, write `$e = mc^2$`.
551−- \$22,000 is a *lot* of money. So is \$34,000. (It worked if “lot” is
551+- \$22,000 is a *lot* of money. So is \$34,000. (It worked if "lot" is
552552 emphasized.)
553553- Shoes (\$20) and socks (\$5).
554554- Escaped `$`: \$73 *this should be emphasized* 23\$.
555555
556−Here’s a LaTeX table:
556+Here's a LaTeX table:
557557
558558\begin{tabular}{|l|l|}\hline
559559Animal & Number \\ \hline
@@ -672,14 +672,14 @@ Foo [biz](/url/ "Title with "quote" inside").
672672With ampersands
673673---------------
674674
675−Here’s a [link with an ampersand in the URL](http://example.com/?foo=1&bar=2).
675+Here's a [link with an ampersand in the URL](http://example.com/?foo=1&bar=2).
676676
677−Here’s a link with an amersand in the link text:
677+Here's a link with an amersand in the link text:
678678[AT&T](http://att.com/ "AT&T").
679679
680−Here’s an [inline link](/script?foo=1&bar=2).
680+Here's an [inline link](/script?foo=1&bar=2).
681681
682−Here’s an [inline link in pointy braces](/script?foo=1&bar=2).
682+Here's an [inline link in pointy braces](/script?foo=1&bar=2).
683683
684684Autolinks
685685---------
@@ -703,7 +703,7 @@ Auto-links should not occur here: `<http://example.com/>`
703703Images
704704======
705705
706−From “Voyage dans la Lune” by Georges Melies (1902):
706+From "Voyage dans la Lune" by Georges Melies (1902):
707707
708708![lalune](lalune.jpg "Voyage dans la Lune")
709709
@@ -727,7 +727,7 @@ This paragraph should not be part of the note, as it is not indented.
727727[^1]: Here is the footnote. It can go anywhere after the footnote reference.
728728 It need not be placed at the end of the document.
729729
730−[^2]: Here’s the long note. This one contains multiple blocks.
730+[^2]: Here's the long note. This one contains multiple blocks.
731731
732732 Subsequent blocks are indented to show that they belong to the footnote
733733 (as with list items).
tests/writer.opml+7−7
@@ -24,7 +24,7 @@
2424 <outline text="Level 2" _note="with no blank line&#10;&#10;------------------------------------------------------------------------">
2525 </outline>
2626</outline>
27−<outline text="Paragraphs" _note="Here’s a regular paragraph.&#10;&#10;In Markdown 1.0.0 and earlier. Version 8. This line turns into a list&#10;item. Because a hard-wrapped line in the middle of a paragraph looked&#10;like a list item.&#10;&#10;Here’s one with a bullet. \* criminey.&#10;&#10;There should be a hard line break\&#10;here.&#10;&#10;------------------------------------------------------------------------">
27+<outline text="Paragraphs" _note="Here’s a regular paragraph.&#10;&#10;In Markdown 1.0.0 and earlier. Version 8. This line turns into a list&#10;item. Because a hard-wrapped line in the middle of a paragraph looked&#10;like a list item.&#10;&#10;Here’s one with a bullet. \* criminey.&#10;&#10;There should be a hard line break &#10;here.&#10;&#10;------------------------------------------------------------------------">
2828</outline>
2929<outline text="Block Quotes" _note="E-mail style:&#10;&#10;&gt; This is a block quote. It is pretty short.&#10;&#10;&gt; Code in a block quote:&#10;&gt;&#10;&gt; sub status {&#10;&gt; print &quot;working&quot;;&#10;&gt; }&#10;&gt;&#10;&gt; A list:&#10;&gt;&#10;&gt; 1. item one&#10;&gt; 2. item two&#10;&gt;&#10;&gt; Nested block quotes:&#10;&gt;&#10;&gt; &gt; nested&#10;&gt;&#10;&gt; &gt; nested&#10;&#10;This should not be a block quote: 2 &amp;gt; 1.&#10;&#10;And a following paragraph.&#10;&#10;------------------------------------------------------------------------">
3030</outline>
@@ -39,18 +39,18 @@
3939 </outline>
4040 <outline text="Tabs and spaces" _note="- this is a list item indented with tabs&#10;&#10;- this is a list item indented with spaces&#10;&#10; - this is an example list item indented with tabs&#10;&#10; - this is an example list item indented with spaces&#10;&#10;">
4141 </outline>
42− <outline text="Fancy list markers" _note="(2) begins with 2&#10;(3) and now 3&#10;&#10; with a continuation&#10;&#10; iv. sublist with roman numerals, starting with 4&#10; v. more items&#10; (A) a subsublist&#10; (B) a subsublist&#10;&#10;Nesting:&#10;&#10;A. Upper Alpha&#10; I. Upper Roman.&#10; (6) Decimal start with 6&#10; c) Lower alpha with paren&#10;&#10;Autonumbering:&#10;&#10;1. Autonumber.&#10;2. More.&#10; 1. Nested.&#10;&#10;Should not be a list item:&#10;&#10;M.A. 2007&#10;&#10;B. Williams&#10;&#10;------------------------------------------------------------------------">
42+ <outline text="Fancy list markers" _note="1. begins with 2&#10;2. and now 3&#10;&#10; with a continuation&#10;&#10; 1. sublist with roman numerals, starting with 4&#10; 2. more items&#10; 1. a subsublist&#10; 2. a subsublist&#10;&#10;Nesting:&#10;&#10;1. Upper Alpha&#10; 1. Upper Roman.&#10; 1. Decimal start with 6&#10; 1. Lower alpha with paren&#10;&#10;Autonumbering:&#10;&#10;1. Autonumber.&#10;2. More.&#10; 1. Nested.&#10;&#10;Should not be a list item:&#10;&#10;M.A. 2007&#10;&#10;B. Williams&#10;&#10;------------------------------------------------------------------------">
4343 </outline>
4444</outline>
45−<outline text="Definition Lists" _note="Tight using spaces:&#10;&#10;apple&#10;: red fruit&#10;&#10;orange&#10;: orange fruit&#10;&#10;banana&#10;: yellow fruit&#10;&#10;Tight using tabs:&#10;&#10;apple&#10;: red fruit&#10;&#10;orange&#10;: orange fruit&#10;&#10;banana&#10;: yellow fruit&#10;&#10;Loose:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10;banana&#10;&#10;: yellow fruit&#10;&#10;Multiple blocks with italics:&#10;&#10;*apple*&#10;&#10;: red fruit&#10;&#10; contains seeds, crisp, pleasant to taste&#10;&#10;*orange*&#10;&#10;: orange fruit&#10;&#10; { orange code block }&#10;&#10; &gt; orange block quote&#10;&#10;Multiple definitions, tight:&#10;&#10;apple&#10;: red fruit&#10;: computer&#10;&#10;orange&#10;: orange fruit&#10;: bank&#10;&#10;Multiple definitions, loose:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;: computer&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10;: bank&#10;&#10;Blank line after term, indented marker, alternate markers:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;: computer&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10; 1. sublist&#10; 2. sublist&#10;&#10;">
45+<outline text="Definition Lists" _note="Tight using spaces:&#10;&#10;apple &#10;red fruit&#10;&#10;orange &#10;orange fruit&#10;&#10;banana &#10;yellow fruit&#10;&#10;Tight using tabs:&#10;&#10;apple &#10;red fruit&#10;&#10;orange &#10;orange fruit&#10;&#10;banana &#10;yellow fruit&#10;&#10;Loose:&#10;&#10;apple &#10;red fruit&#10;&#10;orange &#10;orange fruit&#10;&#10;banana &#10;yellow fruit&#10;&#10;Multiple blocks with italics:&#10;&#10;*apple* &#10;red fruit&#10;&#10;contains seeds, crisp, pleasant to taste&#10;&#10;*orange* &#10;orange fruit&#10;&#10; { orange code block }&#10;&#10;&gt; orange block quote&#10;&#10;Multiple definitions, tight:&#10;&#10;apple &#10;red fruit&#10;&#10;computer&#10;&#10;orange &#10;orange fruit&#10;&#10;bank&#10;&#10;Multiple definitions, loose:&#10;&#10;apple &#10;red fruit&#10;&#10;computer&#10;&#10;orange &#10;orange fruit&#10;&#10;bank&#10;&#10;Blank line after term, indented marker, alternate markers:&#10;&#10;apple &#10;red fruit&#10;&#10;computer&#10;&#10;orange &#10;orange fruit&#10;&#10;1. sublist&#10;2. sublist&#10;">
4646</outline>
47−<outline text="HTML Blocks" _note="Simple block on one line:&#10;&#10;&lt;div&gt;&#10;&#10;foo&#10;&#10;&lt;/div&gt;&#10;&#10;And nested without indentation:&#10;&#10;&lt;div&gt;&#10;&#10;&lt;div&gt;&#10;&#10;&lt;div&gt;&#10;&#10;foo&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;div&gt;&#10;&#10;bar&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;/div&gt;&#10;&#10;Interpreted markdown in a table:&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;This is *emphasized*&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;And this is **strong**&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;script type=&quot;text/javascript&quot;&gt;document.write('This *should not* be interpreted as markdown');&lt;/script&gt;&#10;Here’s a simple block:&#10;&#10;&lt;div&gt;&#10;&#10;foo&#10;&#10;&lt;/div&gt;&#10;&#10;This should be a code block, though:&#10;&#10; &lt;div&gt;&#10; foo&#10; &lt;/div&gt;&#10;&#10;As should this:&#10;&#10; &lt;div&gt;foo&lt;/div&gt;&#10;&#10;Now, nested:&#10;&#10;&lt;div&gt;&#10;&#10;&lt;div&gt;&#10;&#10;&lt;div&gt;&#10;&#10;foo&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;/div&gt;&#10;&#10;&lt;/div&gt;&#10;&#10;This should just be an HTML comment:&#10;&#10;&lt;!-- Comment --&gt;&#10;Multiline:&#10;&#10;&lt;!--&#10;Blah&#10;Blah&#10;--&gt;&#10;&lt;!--&#10; This is another comment.&#10;--&gt;&#10;Code block:&#10;&#10; &lt;!-- Comment --&gt;&#10;&#10;Just plain comment, with trailing spaces on the line:&#10;&#10;&lt;!-- foo --&gt;&#10;Code:&#10;&#10; &lt;hr /&gt;&#10;&#10;Hr’s:&#10;&#10;&lt;hr&gt;&#10;&lt;hr /&gt;&#10;&lt;hr /&gt;&#10;&lt;hr&gt;&#10;&lt;hr /&gt;&#10;&lt;hr /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot; /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot; /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot;&gt;&#10;&#10;------------------------------------------------------------------------">
47+<outline text="HTML Blocks" _note="Simple block on one line:&#10;&#10;foo&#10;&#10;And nested without indentation:&#10;&#10;foo&#10;&#10;bar&#10;&#10;Interpreted markdown in a table:&#10;&#10;This is *emphasized*&#10;And this is **strong**&#10;Here’s a simple block:&#10;&#10;foo&#10;&#10;This should be a code block, though:&#10;&#10; &lt;div&gt;&#10; foo&#10; &lt;/div&gt;&#10;&#10;As should this:&#10;&#10; &lt;div&gt;foo&lt;/div&gt;&#10;&#10;Now, nested:&#10;&#10;foo&#10;&#10;This should just be an HTML comment:&#10;&#10;Multiline:&#10;&#10;Code block:&#10;&#10; &lt;!-- Comment --&gt;&#10;&#10;Just plain comment, with trailing spaces on the line:&#10;&#10;Code:&#10;&#10; &lt;hr /&gt;&#10;&#10;Hr’s:&#10;&#10;------------------------------------------------------------------------">
4848</outline>
49−<outline text="Inline Markup" _note="This is *emphasized*, and so *is this*.&#10;&#10;This is **strong**, and so **is this**.&#10;&#10;An *[emphasized link](/url)*.&#10;&#10;***This is strong and em.***&#10;&#10;So is ***this*** word.&#10;&#10;***This is strong and em.***&#10;&#10;So is ***this*** word.&#10;&#10;This is code: `&gt;`, `$`, `\`, `\$`, `&lt;html&gt;`.&#10;&#10;~~This is *strikeout*.~~&#10;&#10;Superscripts: a^bc^d a^*hello*^ a^hello there^.&#10;&#10;Subscripts: H~2~O, H~23~O, H~many of them~O.&#10;&#10;These should not be superscripts or subscripts, because of the unescaped&#10;spaces: a\^b c\^d, a\~b c\~d.&#10;&#10;------------------------------------------------------------------------">
49+<outline text="Inline Markup" _note="This is *emphasized*, and so *is this*.&#10;&#10;This is **strong**, and so **is this**.&#10;&#10;An *[emphasized link](/url)*.&#10;&#10;***This is strong and em.***&#10;&#10;So is ***this*** word.&#10;&#10;***This is strong and em.***&#10;&#10;So is ***this*** word.&#10;&#10;This is code: `&gt;`, `$`, `\`, `\$`, `&lt;html&gt;`.&#10;&#10;This is *strikeout*.&#10;&#10;Superscripts: abcd a*hello* ahello there.&#10;&#10;Subscripts: H₂O, H₂₃O, Hmany of themO.&#10;&#10;These should not be superscripts or subscripts, because of the unescaped&#10;spaces: a^b c^d, a~b c~d.&#10;&#10;------------------------------------------------------------------------">
5050</outline>
5151<outline text="Smart quotes, ellipses, dashes" _note="“Hello,” said the spider. “‘Shelob’ is my name.”&#10;&#10;‘A’, ‘B’, and ‘C’ are letters.&#10;&#10;‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’&#10;&#10;‘He said, “I want to go.”’ Were you alive in the 70’s?&#10;&#10;Here is some quoted ‘`code`’ and a “[quoted&#10;link](http://example.com/?foo=1&amp;bar=2)”.&#10;&#10;Some dashes: one—two — three—four — five.&#10;&#10;Dashes between numbers: 5–7, 255–66, 1987–1999.&#10;&#10;Ellipses…and…and….&#10;&#10;------------------------------------------------------------------------">
5252</outline>
53−<outline text="LaTeX" _note="- \cite[22-23]{smith.1899}&#10;- $2+2=4$&#10;- $x \in y$&#10;- $\alpha \wedge \omega$&#10;- $223$&#10;- $p$-Tree&#10;- Here’s some display math:&#10; $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$&#10;- Here’s one that has a line break in it:&#10; $\alpha + \omega \times x^2$.&#10;&#10;These shouldn’t be math:&#10;&#10;- To get the famous equation, write `$e = mc^2$`.&#10;- \$22,000 is a *lot* of money. So is \$34,000. (It worked if “lot” is&#10; emphasized.)&#10;- Shoes (\$20) and socks (\$5).&#10;- Escaped `$`: \$73 *this should be emphasized* 23\$.&#10;&#10;Here’s a LaTeX table:&#10;&#10;\begin{tabular}{|l|l|}\hline&#10;Animal &amp; Number \\ \hline&#10;Dog &amp; 2 \\&#10;Cat &amp; 1 \\ \hline&#10;\end{tabular}&#10;&#10;------------------------------------------------------------------------">
53+<outline text="LaTeX" _note="- &#10;- 2 + 2 = 4&#10;- *x* ∈ *y*&#10;- *α* ∧ *ω*&#10;- 223&#10;- *p*-Tree&#10;- Here’s some display math:&#10; $$\\frac{d}{dx}f(x)=\\lim\_{h\\to 0}\\frac{f(x+h)-f(x)}{h}$$&#10;- Here’s one that has a line break in it: *α* + *ω* × *x*².&#10;&#10;These shouldn’t be math:&#10;&#10;- To get the famous equation, write `$e = mc^2$`.&#10;- $22,000 is a *lot* of money. So is $34,000. (It worked if “lot” is&#10; emphasized.)&#10;- Shoes ($20) and socks ($5).&#10;- Escaped `$`: $73 *this should be emphasized* 23$.&#10;&#10;Here’s a LaTeX table:&#10;&#10;------------------------------------------------------------------------">
5454</outline>
5555<outline text="Special Characters" _note="Here is some unicode:&#10;&#10;- I hat: Î&#10;- o umlaut: ö&#10;- section: §&#10;- set membership: ∈&#10;- copyright: ©&#10;&#10;AT&amp;T has an ampersand in their name.&#10;&#10;AT&amp;T is another way to write it.&#10;&#10;This &amp; that.&#10;&#10;4 &amp;lt; 5.&#10;&#10;6 &amp;gt; 5.&#10;&#10;Backslash: \\&#10;&#10;Backtick: \`&#10;&#10;Asterisk: \*&#10;&#10;Underscore: \_&#10;&#10;Left brace: {&#10;&#10;Right brace: }&#10;&#10;Left bracket: \[&#10;&#10;Right bracket: \]&#10;&#10;Left paren: (&#10;&#10;Right paren: )&#10;&#10;Greater-than: &amp;gt;&#10;&#10;Hash: \#&#10;&#10;Period: .&#10;&#10;Bang: !&#10;&#10;Plus: +&#10;&#10;Minus: -&#10;&#10;------------------------------------------------------------------------">
5656</outline>
@@ -66,7 +66,7 @@
6666</outline>
6767<outline text="Images" _note="From “Voyage dans la Lune” by Georges Melies (1902):&#10;&#10;![lalune](lalune.jpg &quot;Voyage dans la Lune&quot;)&#10;&#10;Here is a movie ![movie](movie.jpg) icon.&#10;&#10;------------------------------------------------------------------------">
6868</outline>
69−<outline text="Footnotes" _note="Here is a footnote reference,[^1] and another.[^2] This should *not* be&#10;a footnote reference, because it contains a space.\[\^my note\] Here is&#10;an inline note.[^3]&#10;&#10;&gt; Notes can go in quotes.[^4]&#10;&#10;1. And in list items.[^5]&#10;&#10;This paragraph should not be part of the note, as it is not indented.&#10;&#10;[^1]: Here is the footnote. It can go anywhere after the footnote&#10; reference. It need not be placed at the end of the document.&#10;&#10;[^2]: Here’s the long note. This one contains multiple blocks.&#10;&#10; Subsequent blocks are indented to show that they belong to the&#10; footnote (as with list items).&#10;&#10; { &lt;code&gt; }&#10;&#10; If you want, you can indent every line, but you can also be lazy and&#10; just indent the first line of each block.&#10;&#10;[^3]: This is *easier* to type. Inline notes may contain&#10; [links](http://google.com) and `]` verbatim characters, as well as&#10; \[bracketed text\].&#10;&#10;[^4]: In quote.&#10;&#10;[^5]: In list.">
69+<outline text="Footnotes" _note="Here is a footnote reference,[1] and another.[2] This should *not* be a&#10;footnote reference, because it contains a space.\[^my note\] Here is an&#10;inline note.[3]&#10;&#10;&gt; Notes can go in quotes.[4]&#10;&#10;1. And in list items.[5]&#10;&#10;This paragraph should not be part of the note, as it is not indented.&#10;&#10;[1] Here is the footnote. It can go anywhere after the footnote&#10;reference. It need not be placed at the end of the document.&#10;&#10;[2] Here’s the long note. This one contains multiple blocks.&#10;&#10;Subsequent blocks are indented to show that they belong to the footnote&#10;(as with list items).&#10;&#10; { &lt;code&gt; }&#10;&#10;If you want, you can indent every line, but you can also be lazy and&#10;just indent the first line of each block.&#10;&#10;[3] This is *easier* to type. Inline notes may contain&#10;[links](http://google.com) and `]` verbatim characters, as well as&#10;\[bracketed text\].&#10;&#10;[4] In quote.&#10;&#10;[5] In list.">
7070</outline>
7171 </body>
7272</opml>