git.iko.soy/typeable/pandoc
on master help sign in
Added Attr field to Header.

Previously header ids were autogenerated by the writers. Now they are generated (unless supplied explicitly) in the markdown parser, if the `header_identifiers` extension is selected. In addition, the textile reader now supports id attributes on headers.

commitd599c4cdabd0d71fd9d27161c949b5e1e692436d authorJohn MacFarlane <fiddlosopher@gmail.com> dateMon 29 Oct 2012, 22:45 (14 years ago) parent7a40fa8
45 files changed+454−389
man/make-pandoc-man-pages.hs+6−6 pandoc.cabal+1 src/Text/Pandoc/Parsing.hs+2 src/Text/Pandoc/Readers/HTML.hs+4−2 src/Text/Pandoc/Readers/Markdown.hs+14−8 src/Text/Pandoc/Readers/RST.hs+6−6 src/Text/Pandoc/Readers/Textile.hs+7−2 src/Text/Pandoc/Shared.hs+9−10 src/Text/Pandoc/Slides.hs+7−7 src/Text/Pandoc/Writers/AsciiDoc.hs+2−2 src/Text/Pandoc/Writers/ConTeXt.hs+1−1 src/Text/Pandoc/Writers/Docbook.hs+1−1 src/Text/Pandoc/Writers/Docx.hs+4−2 src/Text/Pandoc/Writers/EPUB.hs+6−7 src/Text/Pandoc/Writers/FB2.hs+6−6 src/Text/Pandoc/Writers/HTML.hs+14−8 src/Text/Pandoc/Writers/LaTeX.hs+5−5 src/Text/Pandoc/Writers/Man.hs+1−1 src/Text/Pandoc/Writers/Markdown.hs+1−1 src/Text/Pandoc/Writers/MediaWiki.hs+1−1 src/Text/Pandoc/Writers/OpenDocument.hs+1−1 src/Text/Pandoc/Writers/Org.hs+1−1 src/Text/Pandoc/Writers/RST.hs+1−1 src/Text/Pandoc/Writers/RTF.hs+3−3 src/Text/Pandoc/Writers/Texinfo.hs+8−8 src/Text/Pandoc/Writers/Textile.hs+3−2 tests/Tests/Arbitrary.hs+1−1 tests/Tests/Old.hs+4−1 tests/Tests/Writers/ConTeXt.hs+1−1 tests/docbook-reader.native+30−30 tests/html-reader.native+30−30 tests/latex-reader.native+29−29 tests/lhs-test-markdown.native+8 tests/lhs-test.html+1−1 tests/lhs-test.html+lhs+1−1 tests/lhs-test.native+1−1 tests/markdown-reader-more.native+20−20 tests/mediawiki-reader.native+29−29 tests/rst-reader.native+29−29 tests/s5.native+2−2 tests/testsuite.native+31−31 tests/textile-reader.native+29−29 tests/writer.asciidoc+31 tests/writer.native+31−31 tests/writer.textile+31−31
man/make-pandoc-man-pages.hs+6−6
@@ -55,7 +55,7 @@ removeLinks (Link l _) = l
5555removeLinks x = [x]
5656
5757capitalizeHeaders :: Block -> Block
58−capitalizeHeaders (Header 1 xs) = Header 1 $ bottomUp capitalize xs
58+capitalizeHeaders (Header 1 attr xs) = Header 1 attr $ bottomUp capitalize xs
5959capitalizeHeaders x = x
6060
6161capitalize :: Inline -> Inline
@@ -63,22 +63,22 @@ capitalize (Str xs) = Str $ map toUpper xs
6363capitalize x = x
6464
6565removeSect :: [Inline] -> [Block] -> [Block]
66−removeSect ils (Header 1 x:xs) | normalize x == normalize ils =
66+removeSect ils (Header 1 _ x:xs) | normalize x == normalize ils =
6767 dropWhile (not . isHeader1) xs
6868removeSect ils (x:xs) = x : removeSect ils xs
6969removeSect _ [] = []
7070
7171extractSect :: [Inline] -> [Block] -> [Block]
72−extractSect ils (Header 1 z:xs) | normalize z == normalize ils =
72+extractSect ils (Header 1 _ z:xs) | normalize z == normalize ils =
7373 bottomUp promoteHeader $ takeWhile (not . isHeader1) xs
74− where promoteHeader (Header n x) = Header (n-1) x
74+ where promoteHeader (Header n attr x) = Header (n-1) attr x
7575 promoteHeader x = x
7676extractSect ils (x:xs) = extractSect ils xs
7777extractSect _ [] = []
7878
7979isHeader1 :: Block -> Bool
80−isHeader1 (Header 1 _) = True
81−isHeader1 _ = False
80+isHeader1 (Header 1 _ _ ) = True
81+isHeader1 _ = False
8282
8383
8484-- | Returns a list of 'dependencies' that have been modified after 'file'.
pandoc.cabal+1
@@ -170,6 +170,7 @@ Extra-Source-Files:
170170 tests/writer.rtf,
171171 tests/writer.texinfo,
172172 tests/lhs-test.native,
173+ tests/lhs-test-markdown.native,
173174 tests/lhs-test.markdown,
174175 tests/lhs-test.markdown+lhs,
175176 tests/lhs-test.rst,
src/Text/Pandoc/Parsing.hs+2
@@ -723,6 +723,7 @@ data ParserState = ParserState
723723 stateDate :: [Inline], -- ^ Date of document
724724 stateHeaderTable :: [HeaderType], -- ^ Ordered list of header types used
725725 stateHeaders :: [[Inline]], -- ^ List of headers (used for implicit ref links)
726+ stateIdentifiers :: [String], -- ^ List of header identifiers used
726727 stateNextExample :: Int, -- ^ Number of next example
727728 stateExamples :: M.Map String Int, -- ^ Map from example labels to numbers
728729 stateHasChapters :: Bool, -- ^ True if \chapter encountered
@@ -751,6 +752,7 @@ defaultParserState =
751752 stateDate = [],
752753 stateHeaderTable = [],
753754 stateHeaders = [],
755+ stateIdentifiers = [],
754756 stateNextExample = 1,
755757 stateExamples = M.empty,
756758 stateHasChapters = False,
src/Text/Pandoc/Readers/HTML.hs+4−2
@@ -160,7 +160,7 @@ fixPlains inList bs = if any isParaish bs
160160 else bs
161161 where isParaish (Para _) = True
162162 isParaish (CodeBlock _ _) = True
163− isParaish (Header _ _) = True
163+ isParaish (Header _ _ _) = True
164164 isParaish (BlockQuote _) = True
165165 isParaish (BulletList _) = not inList
166166 isParaish (OrderedList _ _) = not inList
@@ -201,7 +201,9 @@ pHeader = try $ do
201201 contents <- liftM concat $ manyTill inline (pCloses tagtype <|> eof)
202202 return $ if bodyTitle
203203 then [] -- skip a representation of the title in the body
204− else [Header level $ normalizeSpaces contents]
204+ else [Header level (fromAttrib "id" $
205+ TagOpen tagtype attr, [], []) $
206+ normalizeSpaces contents]
205207
206208pHrule :: TagParser [Block]
207209pHrule = do
src/Text/Pandoc/Readers/Markdown.hs+14−8
@@ -372,10 +372,16 @@ block = choice [ codeBlockFenced
372372header :: MarkdownParser (F Blocks)
373373header = setextHeader <|> atxHeader <?> "header"
374374
375−addToHeaderList :: F Inlines -> MarkdownParser ()
376−addToHeaderList text =
377− updateState $ \st -> st{ stateHeaders = B.toList (runF text defaultParserState)
378− : stateHeaders st }
375+-- returns unique identifier
376+addToHeaderList :: F Inlines -> MarkdownParser String
377+addToHeaderList text = do
378+ let headerList = B.toList $ runF text defaultParserState
379+ updateState $ \st -> st{ stateHeaders = headerList : stateHeaders st }
380+ (do guardEnabled Ext_header_identifiers
381+ ids <- stateIdentifiers `fmap` getState
382+ let id' = uniqueIdent headerList ids
383+ updateState $ \st -> st{ stateIdentifiers = id' : ids }
384+ return id') <|> return ""
379385
380386atxHeader :: MarkdownParser (F Blocks)
381387atxHeader = try $ do
@@ -383,8 +389,8 @@ atxHeader = try $ do
383389 notFollowedBy (char '.' <|> char ')') -- this would be a list
384390 skipSpaces
385391 text <- trimInlinesF . mconcat <$> manyTill inline atxClosing
386− addToHeaderList text
387− return $ B.header level <$> text
392+ id' <- addToHeaderList text
393+ return $ B.headerWith (id',[],[]) level <$> text
388394
389395atxClosing :: Parser [Char] st String
390396atxClosing = try $ skipMany (char '#') >> blanklines
@@ -399,8 +405,8 @@ setextHeader = try $ do
399405 many (char underlineChar)
400406 blanklines
401407 let level = (fromMaybe 0 $ findIndex (== underlineChar) setextHChars) + 1
402− addToHeaderList text
403− return $ B.header level <$> text
408+ id' <- addToHeaderList text
409+ return $ B.headerWith (id',[],[]) level <$> text
404410
405411--
406412-- hrule block
src/Text/Pandoc/Readers/RST.hs+6−6
@@ -74,14 +74,14 @@ specialChars = "\\`|*_<>$:/[]{}()-.\"'\8216\8217\8220\8221"
7474--
7575
7676isHeader :: Int -> Block -> Bool
77−isHeader n (Header x _) = x == n
78−isHeader _ _ = False
77+isHeader n (Header x _ _) = x == n
78+isHeader _ _ = False
7979
8080-- | Promote all headers in a list of blocks. (Part of
8181-- title transformation for RST.)
8282promoteHeaders :: Int -> [Block] -> [Block]
83−promoteHeaders num ((Header level text):rest) =
84− (Header (level - num) text):(promoteHeaders num rest)
83+promoteHeaders num ((Header level attr text):rest) =
84+ (Header (level - num) attr text):(promoteHeaders num rest)
8585promoteHeaders num (other:rest) = other:(promoteHeaders num rest)
8686promoteHeaders _ [] = []
8787
@@ -90,10 +90,10 @@ promoteHeaders _ [] = []
9090-- promote all the other headers.
9191titleTransform :: [Block] -- ^ list of blocks
9292 -> ([Block], [Inline]) -- ^ modified list of blocks, title
93−titleTransform ((Header 1 head1):(Header 2 head2):rest) |
93+titleTransform ((Header 1 _ head1):(Header 2 _ head2):rest) |
9494 not (any (isHeader 1) rest || any (isHeader 2) rest) = -- both title & subtitle
9595 (promoteHeaders 2 rest, head1 ++ [Str ":", Space] ++ head2)
96−titleTransform ((Header 1 head1):rest) |
96+titleTransform ((Header 1 _ head1):rest) |
9797 not (any (isHeader 1) rest) = -- title, no subtitle
9898 (promoteHeaders 1 rest, head1)
9999titleTransform blocks = (blocks, [])
src/Text/Pandoc/Readers/Textile.hs+7−2
@@ -171,9 +171,14 @@ header :: Parser [Char] ParserState Block
171171header = try $ do
172172 char 'h'
173173 level <- digitToInt <$> oneOf "123456"
174− optional attributes >> char '.' >> whitespace
174+ attr <- option "" attributes
175+ let ident = case attr of
176+ '#':xs -> xs
177+ _ -> ""
178+ char '.'
179+ whitespace
175180 name <- normalizeSpaces <$> manyTill inline blockBreak
176− return $ Header level name
181+ return $ Header level (ident,[],[]) name
177182
178183-- | Blockquote of the form "bq. content"
179184blockQuote :: Parser [Char] ParserState Block
src/Text/Pandoc/Shared.hs+9−10
@@ -426,18 +426,17 @@ inlineListToIdentifier =
426426
427427-- | Convert list of Pandoc blocks into (hierarchical) list of Elements
428428hierarchicalize :: [Block] -> [Element]
429−hierarchicalize blocks = S.evalState (hierarchicalizeWithIds blocks) ([],[])
429+hierarchicalize blocks = S.evalState (hierarchicalizeWithIds blocks) []
430430
431−hierarchicalizeWithIds :: [Block] -> S.State ([Int],[String]) [Element]
431+hierarchicalizeWithIds :: [Block] -> S.State [Int] [Element]
432432hierarchicalizeWithIds [] = return []
433−hierarchicalizeWithIds ((Header level title'):xs) = do
434− (lastnum, usedIdents) <- S.get
435− let ident = uniqueIdent title' usedIdents
433+hierarchicalizeWithIds ((Header level (ident,_,_) title'):xs) = do
434+ lastnum <- S.get
436435 let lastnum' = take level lastnum
437436 let newnum = if length lastnum' >= level
438437 then init lastnum' ++ [last lastnum' + 1]
439438 else lastnum ++ replicate (level - length lastnum - 1) 0 ++ [1]
440− S.put (newnum, (ident : usedIdents))
439+ S.put newnum
441440 let (sectionContents, rest) = break (headerLtEq level) xs
442441 sectionContents' <- hierarchicalizeWithIds sectionContents
443442 rest' <- hierarchicalizeWithIds rest
@@ -447,7 +446,7 @@ hierarchicalizeWithIds (x:rest) = do
447446 return $ (Blk x) : rest'
448447
449448headerLtEq :: Int -> Block -> Bool
450−headerLtEq level (Header l _) = l <= level
449+headerLtEq level (Header l _ _) = l <= level
451450headerLtEq _ _ = False
452451
453452-- | Generate a unique identifier from a list of inlines.
@@ -466,15 +465,15 @@ uniqueIdent title' usedIdents =
466465
467466-- | True if block is a Header block.
468467isHeaderBlock :: Block -> Bool
469−isHeaderBlock (Header _ _) = True
468+isHeaderBlock (Header _ _ _) = True
470469isHeaderBlock _ = False
471470
472471-- | Shift header levels up or down.
473472headerShift :: Int -> Pandoc -> Pandoc
474473headerShift n = bottomUp shift
475474 where shift :: Block -> Block
476− shift (Header level inner) = Header (level + n) inner
477− shift x = x
475+ shift (Header level attr inner) = Header (level + n) attr inner
476+ shift x = x
478477
479478-- | Detect if a list is tight.
480479isTightList :: [[Block]] -> Bool
src/Text/Pandoc/Slides.hs+7−7
@@ -35,24 +35,24 @@ import Text.Pandoc.Definition
3535-- level that occurs before a non-header/non-hrule in the blocks).
3636getSlideLevel :: [Block] -> Int
3737getSlideLevel = go 6
38− where go least (Header n _ : x : xs)
38+ where go least (Header n _ _ : x : xs)
3939 | n < least && nonHOrHR x = go n xs
4040 | otherwise = go least (x:xs)
4141 go least (_ : xs) = go least xs
4242 go least [] = least
43− nonHOrHR (Header _ _) = False
43+ nonHOrHR (Header _ _ _) = False
4444 nonHOrHR (HorizontalRule) = False
4545 nonHOrHR _ = True
4646
4747-- | Prepare a block list to be passed to hierarchicalize.
4848prepSlides :: Int -> [Block] -> [Block]
4949prepSlides slideLevel = ensureStartWithH . splitHrule
50− where splitHrule (HorizontalRule : Header n xs : ys)
51− | n == slideLevel = Header slideLevel xs : splitHrule ys
52− splitHrule (HorizontalRule : xs) = Header slideLevel [Str "\0"] :
50+ where splitHrule (HorizontalRule : Header n attr xs : ys)
51+ | n == slideLevel = Header slideLevel attr xs : splitHrule ys
52+ splitHrule (HorizontalRule : xs) = Header slideLevel nullAttr [Str "\0"] :
5353 splitHrule xs
5454 splitHrule (x : xs) = x : splitHrule xs
5555 splitHrule [] = []
56− ensureStartWithH bs@(Header n _:_)
56+ ensureStartWithH bs@(Header n _ _:_)
5757 | n <= slideLevel = bs
58− ensureStartWithH bs = Header slideLevel [Str "\0"] : bs
58+ ensureStartWithH bs = Header slideLevel nullAttr [Str "\0"] : bs
src/Text/Pandoc/Writers/AsciiDoc.hs+2−2
@@ -126,10 +126,10 @@ blockToAsciiDoc opts (Para inlines) = do
126126blockToAsciiDoc _ (RawBlock _ _) = return empty
127127blockToAsciiDoc _ HorizontalRule =
128128 return $ blankline <> text "'''''" <> blankline
129−blockToAsciiDoc opts (Header level inlines) = do
129+blockToAsciiDoc opts (Header level (ident,_,_) inlines) = do
130130 contents <- inlineListToAsciiDoc opts inlines
131131 let len = offset contents
132− return $ contents <> cr <>
132+ return $ ("[[" <> text ident <> "]]") $$ contents $$
133133 (case level of
134134 1 -> text $ replicate len '-'
135135 2 -> text $ replicate len '~'
src/Text/Pandoc/Writers/ConTeXt.hs+1−1
@@ -190,7 +190,7 @@ blockToConTeXt (DefinitionList lst) =
190190 liftM vcat $ mapM defListItemToConTeXt lst
191191blockToConTeXt HorizontalRule = return $ "\\thinrule" <> blankline
192192-- If this is ever executed, provide a default for the reference identifier.
193−blockToConTeXt (Header level lst) = sectionHeader "" level lst
193+blockToConTeXt (Header level (ident,_,_) lst) = sectionHeader ident level lst
194194blockToConTeXt (Table caption aligns widths heads rows) = do
195195 let colDescriptor colWidth alignment = (case alignment of
196196 AlignLeft -> 'l'
src/Text/Pandoc/Writers/Docbook.hs+1−1
@@ -142,7 +142,7 @@ listItemToDocbook opts item =
142142-- | Convert a Pandoc block element to Docbook.
143143blockToDocbook :: WriterOptions -> Block -> Doc
144144blockToDocbook _ Null = empty
145−blockToDocbook _ (Header _ _) = empty -- should not occur after hierarchicalize
145+blockToDocbook _ (Header _ _ _) = empty -- should not occur after hierarchicalize
146146blockToDocbook opts (Plain lst) = inlinesToDocbook opts lst
147147blockToDocbook opts (Para [Image txt (src,_)]) =
148148 let alt = inlinesToDocbook opts txt
src/Text/Pandoc/Writers/Docx.hs+4−2
@@ -337,11 +337,13 @@ getUniqueId = liftIO $ (show . (+ 20) . hashUnique) `fmap` newUnique
337337-- | Convert a Pandoc block element to OpenXML.
338338blockToOpenXML :: WriterOptions -> Block -> WS [Element]
339339blockToOpenXML _ Null = return []
340−blockToOpenXML opts (Header lev lst) = do
340+blockToOpenXML opts (Header lev (ident,_,_) lst) = do
341341 contents <- withParaProp (pStyle $ "Heading" ++ show lev) $
342342 blockToOpenXML opts (Para lst)
343343 usedIdents <- gets stSectionIds
344− let bookmarkName = uniqueIdent lst usedIdents
344+ let bookmarkName = if null ident
345+ then uniqueIdent lst usedIdents
346+ else ident
345347 modify $ \s -> s{ stSectionIds = bookmarkName : stSectionIds s }
346348 id' <- getUniqueId
347349 let bookmarkStart = mknode "w:bookmarkStart" [("w:id", id')
src/Text/Pandoc/Writers/EPUB.hs+6−7
@@ -119,18 +119,17 @@ writeEPUB opts doc@(Pandoc meta _) = do
119119
120120 -- add level 1 header to beginning if none there
121121 let blocks' = case blocks of
122− (Header 1 _ : _) -> blocks
123− _ -> Header 1 (docTitle meta) : blocks
122+ (Header 1 _ _ : _) -> blocks
123+ _ -> Header 1 ("",[],[]) (docTitle meta) : blocks
124124
125125 let chapterHeaderLevel = writerEpubChapterLevel opts
126−
127126 -- internal reference IDs change when we chunk the file,
128127 -- so that '#my-header-1' might turn into 'chap004.xhtml#my-header'.
129128 -- the next two lines fix that:
130129 let reftable = correlateRefs chapterHeaderLevel blocks'
131130 let blocks'' = replaceRefs reftable blocks'
132131
133− let isChapterHeader (Header n _) = n <= chapterHeaderLevel
132+ let isChapterHeader (Header n _ _) = n <= chapterHeaderLevel
134133 isChapterHeader _ = False
135134
136135 let toChunks :: [Block] -> [[Block]]
@@ -145,8 +144,8 @@ writeEPUB opts doc@(Pandoc meta _) = do
145144 $ renderHtml
146145 $ writeHtml opts'
147146 $ case bs of
148− (Header _ xs : _) -> Pandoc (Meta xs [] []) bs
149− _ -> Pandoc (Meta [] [] []) bs
147+ (Header _ _ xs : _) -> Pandoc (Meta xs [] []) bs
148+ _ -> Pandoc (Meta [] [] []) bs
150149
151150 let chapterEntries = zipWith chapToEntry [1..] chunks
152151
@@ -444,7 +443,7 @@ correlateRefs chapterHeaderLevel bs =
444443 , chapterIdents = []
445444 , identTable = [] }
446445 where go :: Block -> State IdentState ()
447− go (Header n ils) = do
446+ go (Header n _ ils) = do
448447 when (n <= chapterHeaderLevel) $
449448 modify $ \s -> s{ chapterNumber = chapterNumber s + 1
450449 , chapterIdents = [] }
src/Text/Pandoc/Writers/FB2.hs+6−6
@@ -158,7 +158,7 @@ renderSection level (ttl, body) = do
158158 return $ el "section" (title ++ content)
159159 where
160160 hasSubsections = any isHeader
161− isHeader (Header _ _) = True
161+ isHeader (Header _ _ _) = True
162162 isHeader _ = False
163163
164164-- | Only <p> and <empty-line> are allowed within <title> in FB2.
@@ -186,13 +186,13 @@ splitSections level blocks = reverse $ revSplit (reverse blocks)
186186 let (lastsec, before) = break sameLevel rblocks
187187 (header, prevblocks) =
188188 case before of
189− ((Header n title):prevblocks') ->
189+ ((Header n _ title):prevblocks') ->
190190 if n == level
191191 then (title, prevblocks')
192192 else ([], before)
193193 _ -> ([], before)
194194 in (header, reverse lastsec) : revSplit prevblocks
195− sameLevel (Header n _) = n == level
195+ sameLevel (Header n _ _) = n == level
196196 sameLevel _ = False
197197
198198-- | Make another FictionBook body with footnotes.
@@ -361,7 +361,7 @@ blockToXml (DefinitionList defs) =
361361 needsBreak (Para _) = False
362362 needsBreak (Plain ins) = LineBreak `notElem` ins
363363 needsBreak _ = True
364−blockToXml (Header _ _) = -- should never happen, see renderSections
364+blockToXml (Header _ _ _) = -- should never happen, see renderSections
365365 error "unexpected header in section text"
366366blockToXml HorizontalRule = return
367367 [ el "empty-line" ()
@@ -413,7 +413,7 @@ indent = indentBlock
413413 let s' = unlines . map (spacer++) . lines $ s
414414 in CodeBlock a s'
415415 indentBlock (BlockQuote bs) = BlockQuote (map indent bs)
416− indentBlock (Header l ins) = Header l (indentLines ins)
416+ indentBlock (Header l attr' ins) = Header l attr' (indentLines ins)
417417 indentBlock everythingElse = everythingElse
418418 -- indent every (explicit) line
419419 indentLines :: [Inline] -> [Inline]
@@ -613,4 +613,4 @@ cMap = concatMap
613613
614614-- | Monadic equivalent of 'concatMap'.
615615cMapM :: (Monad m) => (a -> m [b]) -> [a] -> m [b]
616−cMapM f xs = concat `liftM` mapM f xs
616+cMapM f xs = concat `liftM` mapM f xs
src/Text/Pandoc/Writers/HTML.hs+14−8
@@ -219,7 +219,10 @@ inTemplate opts tit auths authsMeta date toc body' newvars =
219219
220220-- | Like Text.XHtml's identifier, but adds the writerIdentifierPrefix
221221prefixedId :: WriterOptions -> String -> Attribute
222−prefixedId opts s = A.id $ toValue $ writerIdentifierPrefix opts ++ s
222+prefixedId opts s =
223+ case s of
224+ "" -> mempty
225+ _ -> A.id $ toValue $ writerIdentifierPrefix opts ++ s
223226
224227-- | Replacement for Text.XHtml's unordList.
225228unordList :: WriterOptions -> ([Html] -> Html)
@@ -258,7 +261,10 @@ elementToListItem opts (Sec lev num id' headerText subsecs)
258261 let subList = if null subHeads
259262 then mempty
260263 else unordList opts subHeads
261− return $ Just $ (H.a ! A.href (toValue $ "#" ++ writerIdentifierPrefix opts ++ id')
264+ return $ Just
265+ $ if null id'
266+ then (H.a $ toHtml txt) >> subList
267+ else (H.a ! A.href (toValue $ "#" ++ writerIdentifierPrefix opts ++ id')
262268 $ toHtml txt) >> subList
263269elementToListItem _ _ = return Nothing
264270
@@ -273,7 +279,7 @@ elementToHtml slideLevel opts (Sec level num id' title' elements) = do
273279 let titleSlide = slide && level < slideLevel
274280 header' <- if title' == [Str "\0"] -- marker for hrule
275281 then return mempty
276− else blockToHtml opts (Header level' title')
282+ else blockToHtml opts (Header level' (id',[],[]) title')
277283 let isSec (Sec _ _ _ _ _) = True
278284 isSec (Blk _) = False
279285 innerContents <- mapM (elementToHtml slideLevel opts)
@@ -283,8 +289,7 @@ elementToHtml slideLevel opts (Sec level num id' title' elements) = do
283289 else elements
284290 let header'' = if (writerSectionDivs opts ||
285291 writerSlideVariant opts == S5Slides ||
286− slide ||
287− not (isEnabled Ext_header_identifiers opts))
292+ slide)
288293 then header'
289294 else header' ! prefixedId opts id'
290295 let inNl x = mconcat $ nl opts : intersperse (nl opts) x ++ [nl opts]
@@ -442,15 +447,16 @@ blockToHtml opts (BlockQuote blocks) =
442447 else do
443448 contents <- blockListToHtml opts blocks
444449 return $ H.blockquote $ nl opts >> contents >> nl opts
445−blockToHtml opts (Header level lst) = do
450+blockToHtml opts (Header level (ident,_,_) lst) = do
446451 contents <- inlineListToHtml opts lst
447452 secnum <- liftM stSecNum get
448453 let contents' = if writerNumberSections opts
449454 then (H.span ! A.class_ "header-section-number" $ toHtml $ showSecNum secnum) >>
450455 strToHtml " " >> contents
451456 else contents
452− let contents'' = if writerTableOfContents opts
453− then H.a ! A.href (toValue $ "#" ++ writerIdentifierPrefix opts ++ "TOC") $ contents'
457+ let contents'' = if writerTableOfContents opts && not (null ident)
458+ then H.a ! A.href (toValue $
459+ '#' : writerIdentifierPrefix opts ++ ident) $ contents'
454460 else contents'
455461 return $ (case level of
456462 1 -> H.h1 contents''
src/Text/Pandoc/Writers/LaTeX.hs+5−5
@@ -109,8 +109,8 @@ pandocToLaTeX options (Pandoc (Meta title authors date) blocks) = do
109109 let (blocks', lastHeader) = if writerCiteMethod options == Citeproc then
110110 (blocks, [])
111111 else case last blocks of
112− Header 1 il -> (init blocks, il)
113− _ -> (blocks, [])
112+ Header 1 _ il -> (init blocks, il)
113+ _ -> (blocks, [])
114114 blocks'' <- if writerBeamer options
115115 then toSlides blocks'
116116 else return blocks'
@@ -227,7 +227,7 @@ toSlides bs = do
227227
228228elementToBeamer :: Int -> Element -> State WriterState [Block]
229229elementToBeamer _slideLevel (Blk b) = return [b]
230−elementToBeamer slideLevel (Sec lvl _num _ident tit elts)
230+elementToBeamer slideLevel (Sec lvl _num ident tit elts)
231231 | lvl > slideLevel = do
232232 bs <- concat `fmap` mapM (elementToBeamer slideLevel) elts
233233 return $ Para ( RawInline "latex" "\\begin{block}{"
@@ -235,7 +235,7 @@ elementToBeamer slideLevel (Sec lvl _num _ident tit elts)
235235 : bs ++ [RawBlock "latex" "\\end{block}"]
236236 | lvl < slideLevel = do
237237 bs <- concat `fmap` mapM (elementToBeamer slideLevel) elts
238− return $ (Header lvl tit) : bs
238+ return $ (Header lvl (ident,[],[]) tit) : bs
239239 | otherwise = do -- lvl == slideLevel
240240 -- note: [fragile] is required or verbatim breaks
241241 let hasCodeBlock (CodeBlock _ _) = [True]
@@ -404,7 +404,7 @@ blockToLaTeX (DefinitionList lst) = do
404404 "\\end{description}"
405405blockToLaTeX HorizontalRule = return $
406406 "\\begin{center}\\rule{3in}{0.4pt}\\end{center}"
407−blockToLaTeX (Header level lst) = sectionHeader "" level lst
407+blockToLaTeX (Header level (id',_,_) lst) = sectionHeader id' level lst
408408blockToLaTeX (Table caption aligns widths heads rows) = do
409409 modify $ \s -> s{ stInTable = True, stTableNotes = [] }
410410 headers <- if all null heads
src/Text/Pandoc/Writers/Man.hs+1−1
@@ -161,7 +161,7 @@ blockToMan opts (Para inlines) = do
161161blockToMan _ (RawBlock "man" str) = return $ text str
162162blockToMan _ (RawBlock _ _) = return empty
163163blockToMan _ HorizontalRule = return $ text ".PP" $$ text " * * * * *"
164−blockToMan opts (Header level inlines) = do
164+blockToMan opts (Header level _ inlines) = do
165165 contents <- inlineListToMan opts inlines
166166 let heading = case level of
167167 1 -> ".SH "
src/Text/Pandoc/Writers/Markdown.hs+1−1
@@ -274,7 +274,7 @@ blockToMarkdown opts (RawBlock f str)
274274blockToMarkdown _ (RawBlock _ _) = return empty
275275blockToMarkdown _ HorizontalRule =
276276 return $ blankline <> text "* * * * *" <> blankline
277−blockToMarkdown opts (Header level inlines) = do
277+blockToMarkdown opts (Header level attr inlines) = do
278278 contents <- inlineListToMarkdown opts inlines
279279 st <- get
280280 let setext = writerSetextHeaders opts
src/Text/Pandoc/Writers/MediaWiki.hs+1−1
@@ -104,7 +104,7 @@ blockToMediaWiki _ (RawBlock _ _) = return ""
104104
105105blockToMediaWiki _ HorizontalRule = return "\n-----\n"
106106
107−blockToMediaWiki opts (Header level inlines) = do
107+blockToMediaWiki opts (Header level _ inlines) = do
108108 contents <- inlineListToMediaWiki opts inlines
109109 let eqs = replicate level '='
110110 return $ eqs ++ " " ++ contents ++ " " ++ eqs ++ "\n"
src/Text/Pandoc/Writers/OpenDocument.hs+1−1
@@ -287,7 +287,7 @@ blockToOpenDocument :: WriterOptions -> Block -> State WriterState Doc
287287blockToOpenDocument o bs
288288 | Plain b <- bs = inParagraphTags =<< inlinesToOpenDocument o b
289289 | Para b <- bs = inParagraphTags =<< inlinesToOpenDocument o b
290− | Header i b <- bs = setFirstPara >>
290+ | Header i _ b <- bs = setFirstPara >>
291291 (inHeaderTags i =<< inlinesToOpenDocument o b)
292292 | BlockQuote b <- bs = setFirstPara >> mkBlockQuote b
293293 | DefinitionList b <- bs = setFirstPara >> defList b
src/Text/Pandoc/Writers/Org.hs+1−1
@@ -131,7 +131,7 @@ blockToOrg (RawBlock f str) | f == "org" || f == "latex" || f == "tex" =
131131 return $ text str
132132blockToOrg (RawBlock _ _) = return empty
133133blockToOrg HorizontalRule = return $ blankline $$ "--------------" $$ blankline
134−blockToOrg (Header level inlines) = do
134+blockToOrg (Header level _ inlines) = do
135135 contents <- inlineListToOrg inlines
136136 let headerStr = text $ if level > 999 then " " else replicate level '*'
137137 return $ headerStr <> " " <> contents <> blankline
src/Text/Pandoc/Writers/RST.hs+1−1
@@ -161,7 +161,7 @@ blockToRST (RawBlock f str) =
161161 (nest 3 $ text str) $$ blankline
162162blockToRST HorizontalRule =
163163 return $ blankline $$ "--------------" $$ blankline
164−blockToRST (Header level inlines) = do
164+blockToRST (Header level _ inlines) = do
165165 contents <- inlineListToRST inlines
166166 let headerChar = if level > 5 then ' ' else "=-~^'" !! (level - 1)
167167 let border = text $ replicate (offset contents) headerChar
src/Text/Pandoc/Writers/RTF.hs+3−3
@@ -72,7 +72,7 @@ writeRTF options (Pandoc (Meta title authors date) blocks) =
7272 datetext = inlineListToRTF date
7373 spacer = not $ all null $ titletext : datetext : authorstext
7474 body = concatMap (blockToRTF 0 AlignDefault) blocks
75− isTOCHeader (Header lev _) = lev <= writerTOCDepth options
75+ isTOCHeader (Header lev _ _) = lev <= writerTOCDepth options
7676 isTOCHeader _ = False
7777 context = writerVariables options ++
7878 [ ("body", body)
@@ -91,7 +91,7 @@ tableOfContents :: [Block] -> String
9191tableOfContents headers =
9292 let contentsTree = hierarchicalize headers
9393 in concatMap (blockToRTF 0 AlignDefault) $
94− [Header 1 [Str "Contents"],
94+ [Header 1 nullAttr [Str "Contents"],
9595 BulletList (map elementToListItem contentsTree)]
9696
9797elementToListItem :: Element -> [Block]
@@ -208,7 +208,7 @@ blockToRTF indent alignment (DefinitionList lst) = spaceAtEnd $
208208 concatMap (definitionListItemToRTF alignment indent) lst
209209blockToRTF indent _ HorizontalRule =
210210 rtfPar indent 0 AlignCenter "\\emdash\\emdash\\emdash\\emdash\\emdash"
211−blockToRTF indent alignment (Header level lst) = rtfPar indent 0 alignment $
211+blockToRTF indent alignment (Header level _ lst) = rtfPar indent 0 alignment $
212212 "\\b \\fs" ++ (show (40 - (level * 4))) ++ " " ++ inlineListToRTF lst
213213blockToRTF indent alignment (Table caption aligns sizes headers rows) =
214214 (if all null headers
src/Text/Pandoc/Writers/Texinfo.hs+8−8
@@ -64,7 +64,7 @@ writeTexinfo options document =
6464-- | Add a "Top" node around the document, needed by Texinfo.
6565wrapTop :: Pandoc -> Pandoc
6666wrapTop (Pandoc (Meta title authors date) blocks) =
67− Pandoc (Meta title authors date) (Header 0 title : blocks)
67+ Pandoc (Meta title authors date) (Header 0 nullAttr title : blocks)
6868
6969pandocToTexinfo :: WriterOptions -> Pandoc -> State WriterState String
7070pandocToTexinfo options (Pandoc (Meta title authors date) blocks) = do
@@ -195,14 +195,14 @@ blockToTexinfo HorizontalRule =
195195 text (take 72 $ repeat '-') $$
196196 text "@end ifnottex"
197197
198−blockToTexinfo (Header 0 lst) = do
198+blockToTexinfo (Header 0 _ lst) = do
199199 txt <- if null lst
200200 then return $ text "Top"
201201 else inlineListToTexinfo lst
202202 return $ text "@node Top" $$
203203 text "@top " <> txt <> blankline
204204
205−blockToTexinfo (Header level lst) = do
205+blockToTexinfo (Header level _ lst) = do
206206 node <- inlineListForNode lst
207207 txt <- inlineListToTexinfo lst
208208 idsUsed <- gets stIdentifiers
@@ -286,7 +286,7 @@ blockListToTexinfo [] = return empty
286286blockListToTexinfo (x:xs) = do
287287 x' <- blockToTexinfo x
288288 case x of
289− Header level _ -> do
289+ Header level _ _ -> do
290290 -- We need need to insert a menu for this node.
291291 let (before, after) = break isHeader xs
292292 before' <- blockListToTexinfo before
@@ -311,14 +311,14 @@ blockListToTexinfo (x:xs) = do
311311 return $ x' $$ xs'
312312
313313isHeader :: Block -> Bool
314−isHeader (Header _ _) = True
315−isHeader _ = False
314+isHeader (Header _ _ _) = True
315+isHeader _ = False
316316
317317collectNodes :: Int -> [Block] -> [Block]
318318collectNodes _ [] = []
319319collectNodes level (x:xs) =
320320 case x of
321− (Header hl _) ->
321+ (Header hl _ _) ->
322322 if hl < level
323323 then []
324324 else if hl == level
@@ -329,7 +329,7 @@ collectNodes level (x:xs) =
329329
330330makeMenuLine :: Block
331331 -> State WriterState Doc
332−makeMenuLine (Header _ lst) = do
332+makeMenuLine (Header _ _ lst) = do
333333 txt <- inlineListForNode lst
334334 return $ text "* " <> txt <> text "::"
335335makeMenuLine _ = error "makeMenuLine called with non-Header block"
src/Text/Pandoc/Writers/Textile.hs+3−2
@@ -121,9 +121,10 @@ blockToTextile _ (RawBlock f str) =
121121
122122blockToTextile _ HorizontalRule = return "<hr />\n"
123123
124−blockToTextile opts (Header level inlines) = do
124+blockToTextile opts (Header level (ident,_,_) inlines) = do
125125 contents <- inlineListToTextile opts inlines
126− let prefix = 'h' : (show level ++ ". ")
126+ let attribs = if null ident then "" else "(#" ++ ident ++ ")"
127+ let prefix = 'h' : show level ++ attribs ++ ". "
127128 return $ prefix ++ contents ++ "\n"
128129
129130blockToTextile _ (CodeBlock (_,classes,_) str) | any (all isSpace) (lines str) =
tests/Tests/Arbitrary.hs+1−1
@@ -81,7 +81,7 @@ arbBlock n = frequency $ [ (10, liftM Plain $ arbInlines (n-1))
8181 ])
8282 , (5, do x1 <- choose (1 :: Int, 6)
8383 x2 <- arbInlines (n-1)
84− return (Header x1 x2))
84+ return (Header x1 nullAttr x2))
8585 , (2, return HorizontalRule)
8686 ] ++ [x | x <- nesters, n > 0]
8787 where nesters = [ (5, liftM BlockQuote $ listOf1 $ arbBlock (n-1))
tests/Tests/Old.hs+4−1
@@ -147,8 +147,11 @@ lhsWriterTests format
147147lhsReaderTest :: String -> Test
148148lhsReaderTest format =
149149 testWithNormalize normalizer "lhs" ["-r", format, "-w", "native"]
150− ("lhs-test" <.> format) "lhs-test.native"
150+ ("lhs-test" <.> format) norm
151151 where normalizer = writeNative def . normalize . readNative
152+ norm = if format == "markdown+lhs"
153+ then "lhs-test-markdown.native"
154+ else "lhs-test.native"
152155
153156writerTests :: String -> [Test]
154157writerTests format
tests/Tests/Writers/ConTeXt.hs+1−1
@@ -42,7 +42,7 @@ tests = [ testGroup "inline code"
4242 ]
4343 , testGroup "headers"
4444 [ "level 1" =:
45− header 1 "My header" =?> "\\section[my-header]{My header}"
45+ headerWith ("my-header",[],[]) 1 "My header" =?> "\\section[my-header]{My header}"
4646 ]
4747 , testGroup "bullet lists"
4848 [ "nested" =:
tests/docbook-reader.native+30−30
@@ -1,22 +1,22 @@
11Pandoc (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"]})
22[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\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
3−,Header 1 [Str "Headers"]
4−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
6−,Header 4 [Str "Level",Space,Str "4"]
7−,Header 5 [Str "Level",Space,Str "5"]
3+,Header 1 ("",[],[]) [Str "Headers"]
4+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5+,Header 3 ("",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
6+,Header 4 ("",[],[]) [Str "Level",Space,Str "4"]
7+,Header 5 ("",[],[]) [Str "Level",Space,Str "5"]
88,Para [Str "Hi."]
9−,Header 1 [Str "Level",Space,Str "1"]
10−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11−,Header 3 [Str "Level",Space,Str "3"]
9+,Header 1 ("",[],[]) [Str "Level",Space,Str "1"]
10+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11+,Header 3 ("",[],[]) [Str "Level",Space,Str "3"]
1212,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
13−,Header 2 [Str "Level",Space,Str "2"]
13+,Header 2 ("",[],[]) [Str "Level",Space,Str "2"]
1414,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
15−,Header 1 [Str "Paragraphs"]
15+,Header 1 ("",[],[]) [Str "Paragraphs"]
1616,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
1717,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."]
1818,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
19−,Header 1 [Str "Block",Space,Str "Quotes"]
19+,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"]
2020,Para [Str "E-mail",Space,Str "style:"]
2121,BlockQuote
2222 [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."]]
@@ -34,13 +34,13 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
3434 [Para [Str "nested"]]]
3535,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."]
3636,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
37−,Header 1 [Str "Code",Space,Str "Blocks"]
37+,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"]
3838,Para [Str "Code:"]
3939,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
4040,Para [Str "And:"]
4141,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
42−,Header 1 [Str "Lists"]
43−,Header 2 [Str "Unordered"]
42+,Header 1 ("",[],[]) [Str "Lists"]
43+,Header 2 ("",[],[]) [Str "Unordered"]
4444,Para [Str "Asterisks",Space,Str "loose:"]
4545,BulletList
4646 [[Para [Str "asterisk",Space,Str "1"]]
@@ -56,7 +56,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
5656 [[Para [Str "Minus",Space,Str "1"]]
5757 ,[Para [Str "Minus",Space,Str "2"]]
5858 ,[Para [Str "Minus",Space,Str "3"]]]
59−,Header 2 [Str "Ordered"]
59+,Header 2 ("",[],[]) [Str "Ordered"]
6060,OrderedList (1,Decimal,DefaultDelim)
6161 [[Para [Str "First"]]
6262 ,[Para [Str "Second"]]
@@ -72,7 +72,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
7272 ,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\8217s",Space,Str "back."]]
7373 ,[Para [Str "Item",Space,Str "2."]]
7474 ,[Para [Str "Item",Space,Str "3."]]]
75−,Header 2 [Str "Nested"]
75+,Header 2 ("",[],[]) [Str "Nested"]
7676,BulletList
7777 [[Para [Str "Tab"]
7878 ,BulletList
@@ -97,14 +97,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
9797 ,[Para [Str "Fie"]]
9898 ,[Para [Str "Foe"]]]]
9999 ,[Para [Str "Third"]]]
100−,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
100+,Header 2 ("",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"]
101101,BulletList
102102 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
103103 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
104104 ,BulletList
105105 [[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"]]
106106 ,[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"]]]]]
107−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
107+,Header 2 ("",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
108108,OrderedList (2,Decimal,DefaultDelim)
109109 [[Para [Str "begins",Space,Str "with",Space,Str "2"]]
110110 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -133,7 +133,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
133133,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
134134,Para [Str "M.A.\160\&2007"]
135135,Para [Str "B.",Space,Str "Williams"]
136−,Header 1 [Str "Definition",Space,Str "Lists"]
136+,Header 1 ("",[],[]) [Str "Definition",Space,Str "Lists"]
137137,DefinitionList
138138 [([Str "apple"],
139139 [[Para [Str "red",Space,Str "fruit"]]])
@@ -169,7 +169,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
169169 ,OrderedList (1,Decimal,DefaultDelim)
170170 [[Para [Str "sublist"]]
171171 ,[Para [Str "sublist"]]]]])]
172−,Header 1 [Str "Inline",Space,Str "Markup"]
172+,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"]
173173,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 "."]
174174,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 "."]
175175,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
@@ -182,14 +182,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
182182,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello\160there"],Str "."]
183183,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\160of\160them"],Str "O."]
184184,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^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."]
185−,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
185+,Header 1 ("",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
186186,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."]]
187187,Para [Quoted DoubleQuote [Str "A"],Str ",",Space,Quoted DoubleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted DoubleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
188188,Para [Quoted DoubleQuote [Str "He",Space,Str "said,",Space,Quoted SingleQuote [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\8217s?"]
189189,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two",Space,Str "\8212",Space,Str "three\8212four",Space,Str "\8212",Space,Str "five."]
190190,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."]
191191,Para [Str "Ellipses\8230and\8230and\8230."]
192−,Header 1 [Str "Special",Space,Str "Characters"]
192+,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"]
193193,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
194194,BulletList
195195 [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -218,8 +218,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
218218,Para [Str "Bang:",Space,Str "!"]
219219,Para [Str "Plus:",Space,Str "+"]
220220,Para [Str "Minus:",Space,Str "-"]
221−,Header 1 [Str "Links"]
222−,Header 2 [Str "Explicit"]
221+,Header 1 ("",[],[]) [Str "Links"]
222+,Header 2 ("",[],[]) [Str "Explicit"]
223223,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
224224,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
225225,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
@@ -229,7 +229,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
229229,Para [Link [Str "with_underscore"] ("/url/with_underscore","")]
230230,Para [Link [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
231231,Para [Link [Str "Empty"] ("",""),Str "."]
232−,Header 2 [Str "Reference"]
232+,Header 2 ("",[],[]) [Str "Reference"]
233233,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
234234,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
235235,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
@@ -242,12 +242,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
242242,CodeBlock ("",[],[]) "[not]: /url"
243243,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
244244,Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
245−,Header 2 [Str "With",Space,Str "ampersands"]
245+,Header 2 ("",[],[]) [Str "With",Space,Str "ampersands"]
246246,Para [Str "Here\8217s",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 "."]
247247,Para [Str "Here\8217s",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/",""),Str "."]
248248,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
249249,Para [Str "Here\8217s",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 "."]
250−,Header 2 [Str "Autolinks"]
250+,Header 2 ("",[],[]) [Str "Autolinks"]
251251,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
252252,BulletList
253253 [[Para [Str "In",Space,Str "a",Space,Str "list?"]]
@@ -258,18 +258,18 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
258258 [Para [Str "Blockquoted:",Space,Link [Str "http://example.com/"] ("http://example.com/","")]]
259259,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
260260,CodeBlock ("",[],[]) "or here: <http://example.com/>"
261−,Header 1 [Str "Images"]
261+,Header 1 ("",[],[]) [Str "Images"]
262262,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):"]
263263,Para [Image [Str "lalune"] ("lalune.jpg","")]
264264,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [] ("movie.jpg",""),Space,Str "icon."]
265−,Header 1 [Str "Footnotes"]
265+,Header 1 ("",[],[]) [Str "Footnotes"]
266266,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\8217s",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.[^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]."]]]
267267,BlockQuote
268268 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
269269,OrderedList (1,Decimal,DefaultDelim)
270270 [[Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]]
271271,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."]
272−,Header 1 [Str "Tables"]
272+,Header 1 ("",[],[]) [Str "Tables"]
273273,Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"]
274274,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0]
275275 [[Plain [Str "Right"]]
tests/html-reader.native+30−30
@@ -1,25 +1,25 @@
11Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [], docDate = []})
22[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 "."]
33,HorizontalRule
4−,Header 1 [Str "Headers"]
5−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7−,Header 4 [Str "Level",Space,Str "4"]
8−,Header 5 [Str "Level",Space,Str "5"]
9−,Header 1 [Str "Level",Space,Str "1"]
10−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11−,Header 3 [Str "Level",Space,Str "3"]
4+,Header 1 ("",[],[]) [Str "Headers"]
5+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6+,Header 3 ("",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7+,Header 4 ("",[],[]) [Str "Level",Space,Str "4"]
8+,Header 5 ("",[],[]) [Str "Level",Space,Str "5"]
9+,Header 1 ("",[],[]) [Str "Level",Space,Str "1"]
10+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11+,Header 3 ("",[],[]) [Str "Level",Space,Str "3"]
1212,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
13−,Header 2 [Str "Level",Space,Str "2"]
13+,Header 2 ("",[],[]) [Str "Level",Space,Str "2"]
1414,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
1515,HorizontalRule
16−,Header 1 [Str "Paragraphs"]
16+,Header 1 ("",[],[]) [Str "Paragraphs"]
1717,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
1818,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 "."]
1919,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 "."]
2020,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 "."]
2121,HorizontalRule
22−,Header 1 [Str "Block",Space,Str "Quotes"]
22+,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"]
2323,Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
2424,BlockQuote
2525 [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 "."]]
@@ -51,14 +51,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
5151 [Para [Str "Don",Str "'",Str "t",Space,Str "quote",Space,Str "me",Str "."]]]
5252,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
5353,HorizontalRule
54−,Header 1 [Str "Code",Space,Str "Blocks"]
54+,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"]
5555,Para [Str "Code:"]
5656,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
5757,Para [Str "And:"]
5858,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
5959,HorizontalRule
60−,Header 1 [Str "Lists"]
61−,Header 2 [Str "Unordered"]
60+,Header 1 ("",[],[]) [Str "Lists"]
61+,Header 2 ("",[],[]) [Str "Unordered"]
6262,Para [Str "Asterisks",Space,Str "tight:"]
6363,BulletList
6464 [[Plain [Str "asterisk",Space,Str "1"]]
@@ -89,7 +89,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
8989 [[Para [Str "Minus",Space,Str "1"]]
9090 ,[Para [Str "Minus",Space,Str "2"]]
9191 ,[Para [Str "Minus",Space,Str "3"]]]
92−,Header 2 [Str "Ordered"]
92+,Header 2 ("",[],[]) [Str "Ordered"]
9393,Para [Str "Tight:"]
9494,OrderedList (1,DefaultStyle,DefaultDelim)
9595 [[Plain [Str "First"]]
@@ -116,7 +116,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
116116 ,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 "."]]
117117 ,[Para [Str "Item",Space,Str "2",Str "."]]
118118 ,[Para [Str "Item",Space,Str "3",Str "."]]]
119−,Header 2 [Str "Nested"]
119+,Header 2 ("",[],[]) [Str "Nested"]
120120,BulletList
121121 [[Plain [Str "Tab"]
122122 ,BulletList
@@ -141,14 +141,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
141141 ,[Plain [Str "Fie"]]
142142 ,[Plain [Str "Foe"]]]]
143143 ,[Para [Str "Third"]]]
144−,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
144+,Header 2 ("",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"]
145145,BulletList
146146 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
147147 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
148148 ,BulletList
149149 [[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"]]
150150 ,[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"]]]]]
151−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
151+,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
152152,OrderedList (2,Decimal,DefaultDelim)
153153 [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
154154 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -175,7 +175,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
175175 ,OrderedList (1,DefaultStyle,DefaultDelim)
176176 [[Plain [Str "Nested",Str "."]]]]]
177177,HorizontalRule
178−,Header 2 [Str "Definition"]
178+,Header 2 ("",[],[]) [Str "Definition"]
179179,DefinitionList
180180 [([Str "Violin"],
181181 [[Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument",Str "."]]
@@ -183,7 +183,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
183183 ,([Str "Cello",LineBreak,Str "Violoncello"],
184184 [[Plain [Str "Low",Str "-",Str "voiced",Space,Str "stringed",Space,Str "instrument",Str "."]]])]
185185,HorizontalRule
186−,Header 1 [Str "Inline",Space,Str "Markup"]
186+,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"]
187187,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 "."]
188188,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 "."]
189189,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
@@ -193,7 +193,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
193193,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Str "."]
194194,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 "."]
195195,HorizontalRule
196−,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
196+,Header 1 ("",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
197197,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 "\""]
198198,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 "."]
199199,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 "'"]
@@ -203,7 +203,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
203203,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 "."]
204204,Para [Str "Ellipses",Str ".",Str ".",Str ".",Str "and",Str ".",Space,Str ".",Space,Str ".",Str "and",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "."]
205205,HorizontalRule
206−,Header 1 [Str "LaTeX"]
206+,Header 1 ("",[],[]) [Str "LaTeX"]
207207,BulletList
208208 [[Plain [Str "\\cite[22",Str "-",Str "23]{smith",Str ".",Str "1899}"]]
209209 ,[Plain [Str "\\doublespacing"]]
@@ -222,7 +222,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
222222,Para [Str "Here",Str "'",Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
223223,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}"]
224224,HorizontalRule
225−,Header 1 [Str "Special",Space,Str "Characters"]
225+,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"]
226226,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
227227,BulletList
228228 [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -252,8 +252,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
252252,Para [Str "Plus:",Space,Str "+"]
253253,Para [Str "Minus:",Space,Str "-"]
254254,HorizontalRule
255−,Header 1 [Str "Links"]
256−,Header 2 [Str "Explicit"]
255+,Header 1 ("",[],[]) [Str "Links"]
256+,Header 2 ("",[],[]) [Str "Explicit"]
257257,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
258258,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
259259,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
@@ -262,7 +262,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
262262,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")]
263263,Para [Str "Email",Space,Str "link",Space,Str "(nobody",Space,Str "[at]",Space,Str "nowhere",Str ".",Str "net)"]
264264,Para [Link [Str "Empty"] ("",""),Str "."]
265−,Header 2 [Str "Reference"]
265+,Header 2 ("",[],[]) [Str "Reference"]
266266,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
267267,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
268268,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
@@ -275,12 +275,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
275275,CodeBlock ("",[],[]) "[not]: /url"
276276,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
277277,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
278−,Header 2 [Str "With",Space,Str "ampersands"]
278+,Header 2 ("",[],[]) [Str "With",Space,Str "ampersands"]
279279,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 "."]
280280,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 "."]
281281,Para [Str "Here",Str "'",Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
282282,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 "."]
283−,Header 2 [Str "Autolinks"]
283+,Header 2 ("",[],[]) [Str "Autolinks"]
284284,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","")]
285285,BulletList
286286 [[Plain [Str "In",Space,Str "a",Space,Str "list?"]]
@@ -292,12 +292,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
292292,Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
293293,CodeBlock ("",[],[]) "or here: <http://example.com/>"
294294,HorizontalRule
295−,Header 1 [Str "Images"]
295+,Header 1 ("",[],[]) [Str "Images"]
296296,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):"]
297297,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
298298,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
299299,HorizontalRule
300−,Header 1 [Str "Footnotes"]
300+,Header 1 ("",[],[]) [Str "Footnotes"]
301301,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 "."]
302302,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 "."]
303303,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 "."]
tests/latex-reader.native+29−29
@@ -2,25 +2,25 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
22[RawBlock "latex" "\\maketitle"
33,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\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
44,HorizontalRule
5−,Header 1 [Str "Headers"]
6−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
7−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
5+,Header 1 ("",[],[]) [Str "Headers"]
6+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
7+,Header 3 ("",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
88,Para [Str "Level",Space,Str "4"]
99,Para [Str "Level",Space,Str "5"]
10−,Header 1 [Str "Level",Space,Str "1"]
11−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
12−,Header 3 [Str "Level",Space,Str "3"]
10+,Header 1 ("",[],[]) [Str "Level",Space,Str "1"]
11+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
12+,Header 3 ("",[],[]) [Str "Level",Space,Str "3"]
1313,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
14−,Header 2 [Str "Level",Space,Str "2"]
14+,Header 2 ("",[],[]) [Str "Level",Space,Str "2"]
1515,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
1616,HorizontalRule
17−,Header 1 [Str "Paragraphs"]
17+,Header 1 ("",[],[]) [Str "Paragraphs"]
1818,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
1919,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."]
2020,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
2121,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
2222,HorizontalRule
23−,Header 1 [Str "Block",Space,Str "Quotes"]
23+,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"]
2424,Para [Str "E-mail",Space,Str "style:"]
2525,BlockQuote
2626 [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."]]
@@ -52,15 +52,15 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
5252 [Para [Str "Don\8217t",Space,Str "quote",Space,Str "me."]]]
5353,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
5454,HorizontalRule
55−,Header 1 [Str "Code",Space,Str "Blocks"]
55+,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"]
5656,Para [Str "Code:"]
5757,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
5858,Para [Str "And:"]
5959,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
6060,Para [Str "this",Space,Str "has",Space,Emph [Str "two",LineBreak,Str "lines"]]
6161,HorizontalRule
62−,Header 1 [Str "Lists"]
63−,Header 2 [Str "Unordered"]
62+,Header 1 ("",[],[]) [Str "Lists"]
63+,Header 2 ("",[],[]) [Str "Unordered"]
6464,Para [Str "Asterisks",Space,Str "tight:"]
6565,BulletList
6666 [[Para [Str "asterisk",Space,Str "1"]]
@@ -91,7 +91,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
9191 [[Para [Str "Minus",Space,Str "1"]]
9292 ,[Para [Str "Minus",Space,Str "2"]]
9393 ,[Para [Str "Minus",Space,Str "3"]]]
94−,Header 2 [Str "Ordered"]
94+,Header 2 ("",[],[]) [Str "Ordered"]
9595,Para [Str "Tight:"]
9696,OrderedList (1,Decimal,Period)
9797 [[Para [Str "First"]]
@@ -118,7 +118,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
118118 ,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\8217s",Space,Str "back."]]
119119 ,[Para [Str "Item",Space,Str "2."]]
120120 ,[Para [Str "Item",Space,Str "3."]]]
121−,Header 2 [Str "Nested"]
121+,Header 2 ("",[],[]) [Str "Nested"]
122122,BulletList
123123 [[Para [Str "Tab"]
124124 ,BulletList
@@ -143,14 +143,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
143143 ,[Para [Str "Fie"]]
144144 ,[Para [Str "Foe"]]]]
145145 ,[Para [Str "Third"]]]
146−,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
146+,Header 2 ("",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"]
147147,BulletList
148148 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
149149 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
150150 ,BulletList
151151 [[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"]]
152152 ,[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"]]]]]
153−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
153+,Header 2 ("",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
154154,OrderedList (2,Decimal,TwoParens)
155155 [[Para [Str "begins",Space,Str "with",Space,Str "2"]]
156156 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -180,7 +180,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
180180,Para [Str "M.A.",Space,Str "2007"]
181181,Para [Str "B.",Space,Str "Williams"]
182182,HorizontalRule
183−,Header 1 [Str "Definition",Space,Str "Lists"]
183+,Header 1 ("",[],[]) [Str "Definition",Space,Str "Lists"]
184184,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
185185,DefinitionList
186186 [([Str "apple"],
@@ -215,7 +215,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
215215 ,CodeBlock ("",[],[]) "{ orange code block }"
216216 ,BlockQuote
217217 [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])]
218−,Header 1 [Str "HTML",Space,Str "Blocks"]
218+,Header 1 ("",[],[]) [Str "HTML",Space,Str "Blocks"]
219219,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
220220,Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
221221,Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
@@ -234,7 +234,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
234234,CodeBlock ("",[],[]) "<hr />"
235235,Para [Str "Hr\8217s:"]
236236,HorizontalRule
237−,Header 1 [Str "Inline",Space,Str "Markup"]
237+,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"]
238238,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 "."]
239239,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 "."]
240240,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
@@ -248,7 +248,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
248248,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."]
249249,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^b",Space,Str "c^d,",Space,Str "a",Math InlineMath "\\sim",Str "b",Space,Str "c",Math InlineMath "\\sim",Str "d."]
250250,HorizontalRule
251−,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
251+,Header 1 ("",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
252252,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."]]
253253,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."]
254254,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."]]
@@ -258,7 +258,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
258258,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."]
259259,Para [Str "Ellipses\8230and\8230and\8230."]
260260,HorizontalRule
261−,Header 1 [Str "LaTeX"]
261+,Header 1 ("",[],[]) [Str "LaTeX"]
262262,BulletList
263263 [[Para [Cite [Citation {citationId = "smith.1899", citationPrefix = [], citationSuffix = [Str ",",Space,Str "22-23"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [RawInline "latex" "\\cite[22-23]{smith.1899}"]]]
264264 ,[Para [RawInline "latex" "\\doublespacing"]]
@@ -288,7 +288,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
288288 [[[Plain [Str "Animal"]]]
289289 ,[[Plain [Str "Vegetable"]]]]
290290,HorizontalRule
291−,Header 1 [Str "Special",Space,Str "Characters"]
291+,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"]
292292,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
293293,BulletList
294294 [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -318,8 +318,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
318318,Para [Str "Plus:",Space,Str "+"]
319319,Para [Str "Minus:",Space,Str "-"]
320320,HorizontalRule
321−,Header 1 [Str "Links"]
322−,Header 2 [Str "Explicit"]
321+,Header 1 ("",[],[]) [Str "Links"]
322+,Header 2 ("",[],[]) [Str "Explicit"]
323323,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
324324,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
325325,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
@@ -329,7 +329,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
329329,Para [Link [Str "with_underscore"] ("/url/with_underscore","")]
330330,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
331331,Para [Link [Str "Empty"] ("",""),Str "."]
332−,Header 2 [Str "Reference"]
332+,Header 2 ("",[],[]) [Str "Reference"]
333333,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
334334,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
335335,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
@@ -342,12 +342,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
342342,CodeBlock ("",[],[]) "[not]: /url"
343343,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
344344,Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
345−,Header 2 [Str "With",Space,Str "ampersands"]
345+,Header 2 ("",[],[]) [Str "With",Space,Str "ampersands"]
346346,Para [Str "Here\8217s",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 "."]
347347,Para [Str "Here\8217s",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/",""),Str "."]
348348,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
349349,Para [Str "Here\8217s",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 "."]
350−,Header 2 [Str "Autolinks"]
350+,Header 2 ("",[],[]) [Str "Autolinks"]
351351,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
352352,BulletList
353353 [[Para [Str "In",Space,Str "a",Space,Str "list?"]]
@@ -359,12 +359,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
359359,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
360360,CodeBlock ("",[],[]) "or here: <http://example.com/>"
361361,HorizontalRule
362−,Header 1 [Str "Images"]
362+,Header 1 ("",[],[]) [Str "Images"]
363363,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):"]
364364,Para [Image [Str "image"] ("lalune.jpg","")]
365365,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
366366,HorizontalRule
367−,Header 1 [Str "Footnotes"]
367+,Header 1 ("",[],[]) [Str "Footnotes"]
368368,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\8217s",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.[^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]."]]]
369369,BlockQuote
370370 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
tests/lhs-test-markdown.nativenew file+8
@@ -0,0 +1,8 @@
1+[Header 1 ("lhs-test",[],[]) [Str "lhs",Space,Str "test"]
2+,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:"]
3+,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) "
4+,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)."]
5+,CodeBlock ("",[],[]) "f *** g = first f >>> second g"
6+,Para [Str "Block",Space,Str "quote:"]
7+,BlockQuote
8+ [Para [Str "foo",Space,Str "bar"]]]
tests/lhs-test.html+1−1
@@ -27,7 +27,7 @@ code > span.er { color: #ff0000; font-weight: bold; }
2727 </style>
2828</head>
2929<body>
30−<h1 id="lhs-test">lhs test</h1>
30+<h1>lhs test</h1>
3131<p><code>unsplit</code> is an arrow that takes a pair of values and combines them to return a single value:</p>
3232<pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="ot">unsplit ::</span> (<span class="dt">Arrow</span> 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
3333unsplit <span class="fu">=</span> arr <span class="fu">.</span> <span class="fu">uncurry</span>
tests/lhs-test.html+lhs+1−1
@@ -27,7 +27,7 @@ code > span.er { color: #ff0000; font-weight: bold; }
2727 </style>
2828</head>
2929<body>
30−<h1 id="lhs-test">lhs test</h1>
30+<h1>lhs test</h1>
3131<p><code>unsplit</code> is an arrow that takes a pair of values and combines them to return a single value:</p>
3232<pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span><span class="ot"> unsplit ::</span> (<span class="dt">Arrow</span> 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
3333<span class="fu">&gt;</span> unsplit <span class="fu">=</span> arr <span class="fu">.</span> <span class="fu">uncurry</span>
tests/lhs-test.native+1−1
@@ -1,4 +1,4 @@
1−[Header 1 [Str "lhs",Space,Str "test"]
1+[Header 1 ("",[],[]) [Str "lhs",Space,Str "test"]
22,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:"]
33,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) "
44,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)."]
tests/markdown-reader-more.native+20−20
@@ -1,54 +1,54 @@
1−[Header 1 [Str "Additional",Space,Str "markdown",Space,Str "reader",Space,Str "tests"]
2−,Header 2 [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"]
1+[Header 1 ("additional-markdown-reader-tests",[],[]) [Str "Additional",Space,Str "markdown",Space,Str "reader",Space,Str "tests"]
2+,Header 2 ("blank-line-before-url-in-link-reference",[],[]) [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"]
33,Para [Link [Str "foo"] ("/url",""),Space,Str "and",Space,Link [Str "bar"] ("/url","title")]
4−,Header 2 [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"]
4+,Header 2 ("raw-context-environments",[],[]) [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"]
55,Plain [RawInline "tex" "\\placeformula "]
66,RawBlock "context" "\\startformula\n L_{1} = L_{2}\n \\stopformula"
77,RawBlock "context" "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]"
8−,Header 2 [Str "URLs",Space,Str "with",Space,Str "spaces"]
8+,Header 2 ("urls-with-spaces",[],[]) [Str "URLs",Space,Str "with",Space,Str "spaces"]
99,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")]
1010,Para [Link [Str "baz"] ("/foo%20foo",""),Space,Link [Str "bam"] ("/foo%20fee",""),Space,Link [Str "bork"] ("/foo/zee%20zob","title")]
11−,Header 2 [Str "Horizontal",Space,Str "rules",Space,Str "with",Space,Str "spaces",Space,Str "at",Space,Str "end"]
11+,Header 2 ("horizontal-rules-with-spaces-at-end",[],[]) [Str "Horizontal",Space,Str "rules",Space,Str "with",Space,Str "spaces",Space,Str "at",Space,Str "end"]
1212,HorizontalRule
1313,HorizontalRule
14−,Header 2 [Str "Raw",Space,Str "HTML",Space,Str "before",Space,Str "header"]
14+,Header 2 ("raw-html-before-header",[],[]) [Str "Raw",Space,Str "HTML",Space,Str "before",Space,Str "header"]
1515,Para [RawInline "html" "<a>",RawInline "html" "</a>"]
16−,Header 3 [Str "my",Space,Str "header"]
17−,Header 2 [Str "$",Space,Str "in",Space,Str "math"]
16+,Header 3 ("my-header",[],[]) [Str "my",Space,Str "header"]
17+,Header 2 ("in-math",[],[]) [Str "$",Space,Str "in",Space,Str "math"]
1818,Para [Math InlineMath "\\$2 + \\$3"]
19−,Header 2 [Str "Commented-out",Space,Str "list",Space,Str "item"]
19+,Header 2 ("commented-out-list-item",[],[]) [Str "Commented-out",Space,Str "list",Space,Str "item"]
2020,BulletList
2121 [[Plain [Str "one",Space,RawInline "html" "<!--\n- two\n-->"]]
2222 ,[Plain [Str "three"]]]
23−,Header 2 [Str "Backslash",Space,Str "newline"]
23+,Header 2 ("backslash-newline",[],[]) [Str "Backslash",Space,Str "newline"]
2424,Para [Str "hi",LineBreak,Str "there"]
25−,Header 2 [Str "Code",Space,Str "spans"]
25+,Header 2 ("code-spans",[],[]) [Str "Code",Space,Str "spans"]
2626,Para [Code ("",[],[]) "hi\\"]
2727,Para [Code ("",[],[]) "hi there"]
2828,Para [Code ("",[],[]) "hi````there"]
2929,Para [Str "`hi"]
3030,Para [Str "there`"]
31−,Header 2 [Str "Multilingual",Space,Str "URLs"]
31+,Header 2 ("multilingual-urls",[],[]) [Str "Multilingual",Space,Str "URLs"]
3232,Para [RawInline "html" "<http://\27979.com?\27979=\27979>"]
3333,Para [Link [Str "foo"] ("/bar/\27979?x=\27979","title")]
3434,Para [Link [Str "\27979@foo.\27979.baz"] ("mailto:\27979@foo.\27979.baz","")]
35−,Header 2 [Str "Numbered",Space,Str "examples"]
35+,Header 2 ("numbered-examples",[],[]) [Str "Numbered",Space,Str "examples"]
3636,OrderedList (1,Example,TwoParens)
3737 [[Plain [Str "First",Space,Str "example."]]
3838 ,[Plain [Str "Second",Space,Str "example."]]]
3939,Para [Str "Explanation",Space,Str "of",Space,Str "examples",Space,Str "(2)",Space,Str "and",Space,Str "(3)."]
4040,OrderedList (3,Example,TwoParens)
4141 [[Plain [Str "Third",Space,Str "example."]]]
42−,Header 2 [Str "Macros"]
42+,Header 2 ("macros",[],[]) [Str "Macros"]
4343,Para [Math InlineMath "\\langle x,y \\rangle"]
44−,Header 2 [Str "Case-insensitive",Space,Str "references"]
44+,Header 2 ("case-insensitive-references",[],[]) [Str "Case-insensitive",Space,Str "references"]
4545,Para [Link [Str "Fum"] ("/fum","")]
4646,Para [Link [Str "FUM"] ("/fum","")]
4747,Para [Link [Str "bat"] ("/bat","")]
48−,Header 2 [Str "Curly",Space,Str "smart",Space,Str "quotes"]
48+,Header 2 ("curly-smart-quotes",[],[]) [Str "Curly",Space,Str "smart",Space,Str "quotes"]
4949,Para [Quoted DoubleQuote [Str "Hi"]]
5050,Para [Quoted SingleQuote [Str "Hi"]]
51−,Header 2 [Str "Consecutive",Space,Str "lists"]
51+,Header 2 ("consecutive-lists",[],[]) [Str "Consecutive",Space,Str "lists"]
5252,BulletList
5353 [[Plain [Str "one"]]
5454 ,[Plain [Str "two"]]]
@@ -58,9 +58,9 @@
5858,OrderedList (1,LowerAlpha,Period)
5959 [[Plain [Str "one"]]
6060 ,[Plain [Str "two"]]]
61−,Header 2 [Str "Implicit",Space,Str "header",Space,Str "references"]
62−,Header 3 [Str "My",Space,Str "header"]
63−,Header 3 [Str "My",Space,Str "other",Space,Str "header"]
61+,Header 2 ("implicit-header-references",[],[]) [Str "Implicit",Space,Str "header",Space,Str "references"]
62+,Header 3 ("my-header-1",[],[]) [Str "My",Space,Str "header"]
63+,Header 3 ("my-other-header",[],[]) [Str "My",Space,Str "other",Space,Str "header"]
6464,Para [Str "A",Space,Str "link",Space,Str "to",Space,Link [Str "My",Space,Str "header"] ("#my-header",""),Str "."]
6565,Para [Str "Another",Space,Str "link",Space,Str "to",Space,Link [Str "it"] ("#my-header",""),Str "."]
6666,Para [Str "But",Space,Str "this",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "link",Space,Str "to",Space,Link [Str "My",Space,Str "other",Space,Str "header"] ("/foo",""),Str ",",Space,Str "since",Space,Str "the",Space,Str "reference",Space,Str "is",Space,Str "defined."]]
tests/mediawiki-reader.native+29−29
@@ -1,39 +1,39 @@
11Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
2−[Header 1 [Str "header"]
3−,Header 2 [Str "header",Space,Str "level",Space,Str "two"]
4−,Header 3 [Str "header",Space,Str "level",Space,Str "3"]
5−,Header 4 [Str "header",Space,Emph [Str "level"],Space,Str "four"]
6−,Header 5 [Str "header",Space,Str "level",Space,Str "5"]
7−,Header 6 [Str "header",Space,Str "level",Space,Str "6"]
2+[Header 1 ("",[],[]) [Str "header"]
3+,Header 2 ("",[],[]) [Str "header",Space,Str "level",Space,Str "two"]
4+,Header 3 ("",[],[]) [Str "header",Space,Str "level",Space,Str "3"]
5+,Header 4 ("",[],[]) [Str "header",Space,Emph [Str "level"],Space,Str "four"]
6+,Header 5 ("",[],[]) [Str "header",Space,Str "level",Space,Str "5"]
7+,Header 6 ("",[],[]) [Str "header",Space,Str "level",Space,Str "6"]
88,Para [Str "=======",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "========"]
99,Para [Code ("",[],[]) "==\160not\160a\160header\160=="]
10−,Header 2 [Str "emph",Space,Str "and",Space,Str "strong"]
10+,Header 2 ("",[],[]) [Str "emph",Space,Str "and",Space,Str "strong"]
1111,Para [Emph [Str "emph"],Space,Strong [Str "strong"]]
1212,Para [Strong [Emph [Str "strong",Space,Str "and",Space,Str "emph"]]]
1313,Para [Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]]
1414,Para [Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]]
1515,Para [Emph [Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]]
16−,Header 2 [Str "horizontal",Space,Str "rule"]
16+,Header 2 ("",[],[]) [Str "horizontal",Space,Str "rule"]
1717,Para [Str "top"]
1818,HorizontalRule
1919,Para [Str "bottom"]
2020,HorizontalRule
21−,Header 2 [Str "nowiki"]
21+,Header 2 ("",[],[]) [Str "nowiki"]
2222,Para [Str "''not",Space,Str "emph''"]
23−,Header 2 [Str "strikeout"]
23+,Header 2 ("",[],[]) [Str "strikeout"]
2424,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "struck",Space,Str "out"]]]
25−,Header 2 [Str "entities"]
25+,Header 2 ("",[],[]) [Str "entities"]
2626,Para [Str "hi",Space,Str "&",Space,Str "low"]
2727,Para [Str "hi",Space,Str "&",Space,Str "low"]
2828,Para [Str "G\246del"]
2929,Para [Str "\777\2730"]
30−,Header 2 [Str "comments"]
30+,Header 2 ("",[],[]) [Str "comments"]
3131,Para [Str "inline",Space,Str "comment"]
3232,Para [Str "between",Space,Str "blocks"]
33−,Header 2 [Str "linebreaks"]
33+,Header 2 ("",[],[]) [Str "linebreaks"]
3434,Para [Str "hi",LineBreak,Str "there"]
3535,Para [Str "hi",LineBreak,Str "there"]
36−,Header 2 [Str ":",Space,Str "indents"]
36+,Header 2 ("",[],[]) [Str ":",Space,Str "indents"]
3737,Para [Str "hi"]
3838,DefinitionList
3939 [([],
@@ -46,36 +46,36 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
4646 [([],
4747 [[Plain [Str "there"]]])]]])]
4848,Para [Str "bud"]
49−,Header 2 [Str "p",Space,Str "tags"]
49+,Header 2 ("",[],[]) [Str "p",Space,Str "tags"]
5050,Para [Str "hi",Space,Str "there"]
5151,Para [Str "bud"]
5252,Para [Str "another"]
53−,Header 2 [Str "raw",Space,Str "html"]
53+,Header 2 ("",[],[]) [Str "raw",Space,Str "html"]
5454,Para [Str "hi",Space,RawInline "html" "<span style=\"color:red\">",Emph [Str "there"],RawInline "html" "</span>",Str "."]
5555,Para [RawInline "html" "<ins>",Str "inserted",RawInline "html" "</ins>"]
5656,RawBlock "html" "<div class=\"special\">"
5757,Para [Str "hi",Space,Emph [Str "there"]]
5858,RawBlock "html" "</div>"
59−,Header 2 [Str "sup,",Space,Str "sub,",Space,Str "del"]
59+,Header 2 ("",[],[]) [Str "sup,",Space,Str "sub,",Space,Str "del"]
6060,Para [Str "H",Subscript [Str "2"],Str "O",Space,Str "base",Superscript [Emph [Str "exponent"]],Space,Strikeout [Str "hello"]]
61−,Header 2 [Str "inline",Space,Str "code"]
61+,Header 2 ("",[],[]) [Str "inline",Space,Str "code"]
6262,Para [Code ("",[],[]) "*\8594*",Space,Code ("",[],[]) "typed",Space,Code ("",["haskell"],[]) ">>="]
63−,Header 2 [Str "code",Space,Str "blocks"]
63+,Header 2 ("",[],[]) [Str "code",Space,Str "blocks"]
6464,CodeBlock ("",[],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']"
6565,CodeBlock ("",["haskell"],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']"
6666,CodeBlock ("",["ruby","numberLines"],[("startFrom","100")]) "widgets.each do |w|\n print w.price\nend"
67−,Header 2 [Str "block",Space,Str "quotes"]
67+,Header 2 ("",[],[]) [Str "block",Space,Str "quotes"]
6868,Para [Str "Regular",Space,Str "paragraph"]
6969,BlockQuote
7070 [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote."]
7171 ,Para [Str "With",Space,Str "two",Space,Str "paragraphs."]]
7272,Para [Str "Nother",Space,Str "paragraph."]
73−,Header 2 [Str "external",Space,Str "links"]
73+,Header 2 ("",[],[]) [Str "external",Space,Str "links"]
7474,Para [Link [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")]
7575,Para [Link [Str "http://johnmacfarlane.net/pandoc/"] ("http://johnmacfarlane.net/pandoc/","")]
7676,Para [Link [Str "1"] ("http://google.com",""),Space,Link [Str "2"] ("http://yahoo.com","")]
7777,Para [Link [Str "email",Space,Str "me"] ("mailto:info@example.org","")]
78−,Header 2 [Str "internal",Space,Str "links"]
78+,Header 2 ("",[],[]) [Str "internal",Space,Str "links"]
7979,Para [Link [Str "Help"] ("Help","wikilink")]
8080,Para [Link [Str "the",Space,Str "help",Space,Str "page"] ("Help","wikilink")]
8181,Para [Link [Str "Helpers"] ("Help","wikilink")]
@@ -83,12 +83,12 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
8383,Para [Link [Str "Contents"] ("Help:Contents","wikilink")]
8484,Para [Link [Str "#My",Space,Str "anchor"] ("#My_anchor","wikilink")]
8585,Para [Link [Str "and",Space,Str "text"] ("Page#with_anchor","wikilink")]
86−,Header 2 [Str "images"]
86+,Header 2 ("",[],[]) [Str "images"]
8787,Para [Image [Str "caption"] ("example.jpg","image")]
8888,Para [Image [Str "the",Space,Emph [Str "caption"],Space,Str "with",Space,Link [Str "external",Space,Str "link"] ("http://google.com","")] ("example.jpg","image")]
8989,Para [Image [Str "caption"] ("example.jpg","image")]
9090,Para [Image [Str "example.jpg"] ("example.jpg","image")]
91−,Header 2 [Str "lists"]
91+,Header 2 ("",[],[]) [Str "lists"]
9292,BulletList
9393 [[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
9494 ,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."]
@@ -161,21 +161,21 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
161161 [[Plain [Str "Amsterdam"]]
162162 ,[Plain [Str "Rotterdam"]]
163163 ,[Plain [Str "The",Space,Str "Hague"]]]
164−,Header 2 [Str "math"]
164+,Header 2 ("",[],[]) [Str "math"]
165165,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Math InlineMath "x=\\frac{y^\\pi}{z}",Str "."]
166−,Header 2 [Str "preformatted",Space,Str "blocks"]
166+,Header 2 ("",[],[]) [Str "preformatted",Space,Str "blocks"]
167167,Para [Code ("",[],[]) "Start\160each\160line\160with\160a\160space.",LineBreak,Code ("",[],[]) "Text\160is\160",Strong [Code ("",[],[]) "preformatted"],Code ("",[],[]) "\160and",LineBreak,Emph [Code ("",[],[]) "markups"],Code ("",[],[]) "\160",Strong [Emph [Code ("",[],[]) "can"]],Code ("",[],[]) "\160be\160done."]
168168,Para [Code ("",[],[]) "\160hell\160\160\160\160\160\160yeah"]
169169,Para [Code ("",[],[]) "Start\160with\160a\160space\160in\160the\160first\160column,",LineBreak,Code ("",[],[]) "(before\160the\160<nowiki>).",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "Then\160your\160block\160format\160will\160be",LineBreak,Code ("",[],[]) "\160\160\160\160maintained.",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "This\160is\160good\160for\160copying\160in\160code\160blocks:",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "def\160function():",LineBreak,Code ("",[],[]) "\160\160\160\160\"\"\"documentation\160string\"\"\"",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "\160\160\160\160if\160True:",LineBreak,Code ("",[],[]) "\160\160\160\160\160\160\160\160print\160True",LineBreak,Code ("",[],[]) "\160\160\160\160else:",LineBreak,Code ("",[],[]) "\160\160\160\160\160\160\160\160print\160False"]
170170,Para [Str "Not"]
171171,RawBlock "html" "<hr/>"
172172,Para [Str "preformatted"]
173−,Header 2 [Str "templates"]
173+,Header 2 ("",[],[]) [Str "templates"]
174174,RawBlock "mediawiki" "{{Welcome}}"
175175,RawBlock "mediawiki" "{{Foo:Bar}}"
176176,RawBlock "mediawiki" "{{Thankyou|all your effort|Me}}"
177177,Para [Str "Written",Space,RawInline "mediawiki" "{{{date}}}",Space,Str "by",Space,RawInline "mediawiki" "{{{name}}}",Str "."]
178−,Header 2 [Str "tables"]
178+,Header 2 ("",[],[]) [Str "tables"]
179179,Table [] [AlignDefault,AlignDefault] [0.0,0.0]
180180 [[]
181181 ,[]]
@@ -237,5 +237,5 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
237237 ,[Para [Str "ice",Space,Str "cream"]]]]]]
238238 ,[[Para [Str "Butter"]]
239239 ,[Para [Str "Ice",Space,Str "cream"]]]]
240−,Header 2 [Str "notes"]
240+,Header 2 ("",[],[]) [Str "notes"]
241241,Para [Str "My",Space,Str "note!",Note [Plain [Str "This."]]]]
tests/rst-reader.native+29−29
@@ -2,13 +2,13 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
22[DefinitionList
33 [([Str "Revision"],
44 [[Para [Str "3"]]])]
5−,Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
5+,Header 1 ("",[],[]) [Str "Level",Space,Str "one",Space,Str "header"]
66,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\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
7−,Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
8−,Header 3 [Str "Level",Space,Str "three"]
9−,Header 4 [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
10−,Header 5 [Str "Level",Space,Str "five"]
11−,Header 1 [Str "Paragraphs"]
7+,Header 2 ("",[],[]) [Str "Level",Space,Str "two",Space,Str "header"]
8+,Header 3 ("",[],[]) [Str "Level",Space,Str "three"]
9+,Header 4 ("",[],[]) [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
10+,Header 5 ("",[],[]) [Str "Level",Space,Str "five"]
11+,Header 1 ("",[],[]) [Str "Paragraphs"]
1212,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
1313,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."]
1414,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
@@ -16,7 +16,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
1616,HorizontalRule
1717,Para [Str "Another:"]
1818,HorizontalRule
19−,Header 1 [Str "Block",Space,Str "Quotes"]
19+,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"]
2020,Para [Str "Here\8217s",Space,Str "a",Space,Str "block",Space,Str "quote:"]
2121,BlockQuote
2222 [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."]]
@@ -34,7 +34,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
3434 [Para [Str "nested"]
3535 ,BlockQuote
3636 [Para [Str "nested"]]]]
37−,Header 1 [Str "Code",Space,Str "Blocks"]
37+,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"]
3838,Para [Str "Code:"]
3939,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}"
4040,CodeBlock ("",[],[]) "this code block is indented by one tab"
@@ -42,8 +42,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
4242,CodeBlock ("",[],[]) "this block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
4343,Para [Str "And:"]
4444,CodeBlock ("",["sourceCode","python"],[]) "def my_function(x):\n return x + 1"
45−,Header 1 [Str "Lists"]
46−,Header 2 [Str "Unordered"]
45+,Header 1 ("",[],[]) [Str "Lists"]
46+,Header 2 ("",[],[]) [Str "Unordered"]
4747,Para [Str "Asterisks",Space,Str "tight:"]
4848,BulletList
4949 [[Plain [Str "asterisk",Space,Str "1"]]
@@ -74,7 +74,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
7474 [[Para [Str "Minus",Space,Str "1"]]
7575 ,[Para [Str "Minus",Space,Str "2"]]
7676 ,[Para [Str "Minus",Space,Str "3"]]]
77−,Header 2 [Str "Ordered"]
77+,Header 2 ("",[],[]) [Str "Ordered"]
7878,Para [Str "Tight:"]
7979,OrderedList (1,Decimal,Period)
8080 [[Plain [Str "First"]]
@@ -118,7 +118,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
118118 ,[Plain [Str "Fie"]]
119119 ,[Plain [Str "Foe"]]]]]
120120 ,[Para [Str "Third"]]]
121−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
121+,Header 2 ("",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
122122,OrderedList (2,Decimal,TwoParens)
123123 [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
124124 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -148,7 +148,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
148148,OrderedList (4,LowerAlpha,TwoParens)
149149 [[Plain [Str "item",Space,Str "1"]]
150150 ,[Plain [Str "item",Space,Str "2"]]]
151−,Header 2 [Str "Definition"]
151+,Header 2 ("",[],[]) [Str "Definition"]
152152,DefinitionList
153153 [([Str "term",Space,Str "1"],
154154 [[Para [Str "Definition",Space,Str "1."]]])
@@ -157,7 +157,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
157157 ,Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2."]]])
158158 ,([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]],
159159 [[Para [Str "Definition",Space,Str "3."]]])]
160−,Header 1 [Str "Field",Space,Str "Lists"]
160+,Header 1 ("",[],[]) [Str "Field",Space,Str "Lists"]
161161,BlockQuote
162162 [DefinitionList
163163 [([Str "address"],
@@ -173,18 +173,18 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
173173 [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
174174 ,([Str "phone"],
175175 [[Para [Str "123-4567"]]])]
176−,Header 1 [Str "HTML",Space,Str "Blocks"]
176+,Header 1 ("",[],[]) [Str "HTML",Space,Str "Blocks"]
177177,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
178178,RawBlock "html" "<div>foo</div>"
179179,Para [Str "Now,",Space,Str "nested:"]
180180,RawBlock "html" "<div>\n <div>\n <div>\n foo\n </div>\n </div>\n</div>"
181−,Header 1 [Str "LaTeX",Space,Str "Block"]
181+,Header 1 ("",[],[]) [Str "LaTeX",Space,Str "Block"]
182182,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
183−,Header 1 [Str "Inline",Space,Str "Markup"]
183+,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"]
184184,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str "."]
185185,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 "."]
186186,Para [Str "This",Space,Str "is",Subscript [Str "subscripted"],Space,Str "and",Space,Str "this",Space,Str "is",Space,Superscript [Str "superscripted"],Str "."]
187−,Header 1 [Str "Special",Space,Str "Characters"]
187+,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"]
188188,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
189189,BulletList
190190 [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -212,7 +212,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
212212,Para [Str "Bang:",Space,Str "!"]
213213,Para [Str "Plus:",Space,Str "+"]
214214,Para [Str "Minus:",Space,Str "-"]
215−,Header 1 [Str "Links"]
215+,Header 1 ("",[],[]) [Str "Links"]
216216,Para [Str "Explicit:",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
217217,Para [Str "Two",Space,Str "anonymous",Space,Str "links:",Space,Link [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link [Str "the",Space,Str "second"] ("/url2/","")]
218218,Para [Str "Reference",Space,Str "links:",Space,Link [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link [Str "link1"] ("/url1/",""),Space,Str "again."]
@@ -221,20 +221,20 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
221221,Para [Str "Autolinks:",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 "."]
222222,Para [Str "But",Space,Str "not",Space,Str "here:"]
223223,CodeBlock ("",[],[]) "http://example.com/"
224−,Header 1 [Str "Images"]
224+,Header 1 ("",[],[]) [Str "Images"]
225225,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):"]
226226,Para [Image [Str "image"] ("lalune.jpg","")]
227227,Para [Image [Str "Voyage dans la Lune"] ("lalune.jpg","")]
228228,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
229229,Para [Str "And",Space,Str "an",Space,Link [Image [Str "A movie"] ("movie.jpg","")] ("/url",""),Str "."]
230−,Header 1 [Str "Comments"]
230+,Header 1 ("",[],[]) [Str "Comments"]
231231,Para [Str "First",Space,Str "paragraph"]
232232,Para [Str "Another",Space,Str "paragraph"]
233233,Para [Str "A",Space,Str "third",Space,Str "paragraph"]
234−,Header 1 [Str "Line",Space,Str "blocks"]
234+,Header 1 ("",[],[]) [Str "Line",Space,Str "blocks"]
235235,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 " or",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "an",Space,Str "entire",Space,Str "bee,",LineBreak,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 " due",Space,Str "to",Space,Str "some",Space,Str "ancient",Space,Str "injury?"]
236236,Para [Str "Continuation",Space,Str "line",LineBreak,Str " and",Space,Str "another"]
237−,Header 1 [Str "Simple",Space,Str "Tables"]
237+,Header 1 ("",[],[]) [Str "Simple",Space,Str "Tables"]
238238,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
239239 [[Plain [Str "col",Space,Str "1"]]
240240 ,[Plain [Str "col",Space,Str "2"]]
@@ -256,7 +256,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
256256 ,[[Plain [Str "r2",Space,Str "d"]]
257257 ,[Plain [Str "e"]]
258258 ,[Plain [Str "f"]]]]
259−,Header 1 [Str "Grid",Space,Str "Tables"]
259+,Header 1 ("",[],[]) [Str "Grid",Space,Str "Tables"]
260260,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625]
261261 [[Plain [Str "col",Space,Str "1"]]
262262 ,[Plain [Str "col",Space,Str "2"]]
@@ -301,26 +301,26 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
301301 ,[Plain [Str "b",Space,Str "2"]]
302302 ,[Plain [Str "b",Space,Str "2"]]]]
303303 ,[Plain [Str "c",Space,Str "c",Space,Str "2",Space,Str "c",Space,Str "2"]]]]
304−,Header 1 [Str "Footnotes"]
304+,Header 1 ("",[],[]) [Str "Footnotes"]
305305,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "one",Space,Str "line."]]]
306306,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "continuation",Space,Str "line."]]]
307307,Para [Note [Para [Str "Note",Space,Str "with"],Para [Str "continuation",Space,Str "block."]]]
308308,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."]]]
309309,Para [Str "Not",Space,Str "in",Space,Str "note."]
310−,Header 1 [Str "Math"]
310+,Header 1 ("",[],[]) [Str "Math"]
311311,Para [Str "Some",Space,Str "inline",Space,Str "math",Space,Math InlineMath "E=mc^2",Str ".",Space,Str "Now",Space,Str "some",Space,Str "display",Space,Str "math:"]
312312,Para [Math DisplayMath "E=mc^2"]
313313,Para [Math DisplayMath "E = mc^2"]
314314,Para [Math DisplayMath "E = mc^2",Math DisplayMath "\\alpha = \\beta"]
315315,Para [Math DisplayMath "E &= mc^2\\\\\nF &= \\pi E",Math DisplayMath "F &= \\gamma \\alpha^2"]
316316,Para [Str "All",Space,Str "done."]
317−,Header 1 [Str "Default-Role"]
317+,Header 1 ("",[],[]) [Str "Default-Role"]
318318,Para [Str "Try",Space,Str "changing",Space,Str "the",Space,Str "default",Space,Str "role",Space,Str "to",Space,Str "a",Space,Str "few",Space,Str "different",Space,Str "things."]
319−,Header 2 [Str "Doesn\8217t",Space,Str "Break",Space,Str "Title",Space,Str "Parsing"]
319+,Header 2 ("",[],[]) [Str "Doesn\8217t",Space,Str "Break",Space,Str "Title",Space,Str "Parsing"]
320320,Para [Str "Inline",Space,Str "math:",Space,Math InlineMath "E=mc^2",Space,Str "or",Space,Math InlineMath "E=mc^2",Space,Str "or",Space,Math InlineMath "E=mc^2",Str ".",Space,Str "Other",Space,Str "roles:",Space,Superscript [Str "super"],Str ",",Space,Subscript [Str "sub"],Str "."]
321321,Para [Math DisplayMath "\\alpha = beta",Math DisplayMath "E = mc^2"]
322322,Para [Str "Some",Space,Superscript [Str "of"],Space,Str "these",Space,Superscript [Str "words"],Space,Str "are",Space,Str "in",Space,Superscript [Str "superscript"],Str "."]
323323,Para [Str "Reset",Space,Str "default-role",Space,Str "to",Space,Str "the",Space,Str "default",Space,Str "default."]
324324,Para [Str "And",Space,Str "now",Space,Str "some-invalid-string-3231231",Space,Str "is",Space,Str "nonsense."]
325−,Header 2 [Str "Literal",Space,Str "symbols"]
325+,Header 2 ("",[],[]) [Str "Literal",Space,Str "symbols"]
326326,Para [Str "2*2",Space,Str "=",Space,Str "4*1"]]
tests/s5.native+2−2
@@ -1,8 +1,8 @@
11Pandoc (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"]})
2−[Header 1 [Str "First",Space,Str "slide"]
2+[Header 1 ("first-slide",[],[]) [Str "First",Space,Str "slide"]
33,BulletList
44 [[Plain [Str "first",Space,Str "bullet"]]
55 ,[Plain [Str "second",Space,Str "bullet"]]]
6−,Header 1 [Str "Math"]
6+,Header 1 ("math",[],[]) [Str "Math"]
77,BulletList
88 [[Plain [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]]]
tests/testsuite.native+31−31
@@ -1,25 +1,25 @@
11Pandoc (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"]})
22[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\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
33,HorizontalRule
4−,Header 1 [Str "Headers"]
5−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7−,Header 4 [Str "Level",Space,Str "4"]
8−,Header 5 [Str "Level",Space,Str "5"]
9−,Header 1 [Str "Level",Space,Str "1"]
10−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11−,Header 3 [Str "Level",Space,Str "3"]
4+,Header 1 ("headers",[],[]) [Str "Headers"]
5+,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6+,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7+,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"]
8+,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"]
9+,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"]
10+,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11+,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"]
1212,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
13−,Header 2 [Str "Level",Space,Str "2"]
13+,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"]
1414,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
1515,HorizontalRule
16−,Header 1 [Str "Paragraphs"]
16+,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"]
1717,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
1818,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."]
1919,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
2020,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
2121,HorizontalRule
22−,Header 1 [Str "Block",Space,Str "Quotes"]
22+,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"]
2323,Para [Str "E-mail",Space,Str "style:"]
2424,BlockQuote
2525 [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."]]
@@ -38,14 +38,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
3838,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."]
3939,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
4040,HorizontalRule
41−,Header 1 [Str "Code",Space,Str "Blocks"]
41+,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"]
4242,Para [Str "Code:"]
4343,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
4444,Para [Str "And:"]
4545,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
4646,HorizontalRule
47−,Header 1 [Str "Lists"]
48−,Header 2 [Str "Unordered"]
47+,Header 1 ("lists",[],[]) [Str "Lists"]
48+,Header 2 ("unordered",[],[]) [Str "Unordered"]
4949,Para [Str "Asterisks",Space,Str "tight:"]
5050,BulletList
5151 [[Plain [Str "asterisk",Space,Str "1"]]
@@ -76,7 +76,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
7676 [[Para [Str "Minus",Space,Str "1"]]
7777 ,[Para [Str "Minus",Space,Str "2"]]
7878 ,[Para [Str "Minus",Space,Str "3"]]]
79−,Header 2 [Str "Ordered"]
79+,Header 2 ("ordered",[],[]) [Str "Ordered"]
8080,Para [Str "Tight:"]
8181,OrderedList (1,Decimal,Period)
8282 [[Plain [Str "First"]]
@@ -103,7 +103,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
103103 ,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\8217s",Space,Str "back."]]
104104 ,[Para [Str "Item",Space,Str "2."]]
105105 ,[Para [Str "Item",Space,Str "3."]]]
106−,Header 2 [Str "Nested"]
106+,Header 2 ("nested",[],[]) [Str "Nested"]
107107,BulletList
108108 [[Plain [Str "Tab"]
109109 ,BulletList
@@ -128,14 +128,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
128128 ,[Plain [Str "Fie"]]
129129 ,[Plain [Str "Foe"]]]]
130130 ,[Para [Str "Third"]]]
131−,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
131+,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"]
132132,BulletList
133133 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
134134 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
135135 ,BulletList
136136 [[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"]]
137137 ,[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"]]]]]
138−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
138+,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
139139,OrderedList (2,Decimal,TwoParens)
140140 [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
141141 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -165,7 +165,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
165165,Para [Str "M.A.\160\&2007"]
166166,Para [Str "B.",Space,Str "Williams"]
167167,HorizontalRule
168−,Header 1 [Str "Definition",Space,Str "Lists"]
168+,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"]
169169,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
170170,DefinitionList
171171 [([Str "apple"],
@@ -226,7 +226,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
226226 ,OrderedList (1,Decimal,Period)
227227 [[Plain [Str "sublist"]]
228228 ,[Plain [Str "sublist"]]]]])]
229−,Header 1 [Str "HTML",Space,Str "Blocks"]
229+,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"]
230230,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
231231,RawBlock "html" "<div>"
232232,Plain [Str "foo"]
@@ -268,7 +268,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
268268,Para [Str "Hr\8217s:"]
269269,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"
270270,HorizontalRule
271−,Header 1 [Str "Inline",Space,Str "Markup"]
271+,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"]
272272,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 "."]
273273,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 "."]
274274,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
@@ -282,7 +282,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
282282,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\160of\160them"],Str "O."]
283283,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^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."]
284284,HorizontalRule
285−,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
285+,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
286286,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."]]
287287,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."]
288288,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."]]
@@ -292,7 +292,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
292292,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."]
293293,Para [Str "Ellipses\8230and\8230and\8230."]
294294,HorizontalRule
295−,Header 1 [Str "LaTeX"]
295+,Header 1 ("latex",[],[]) [Str "LaTeX"]
296296,BulletList
297297 [[Plain [RawInline "tex" "\\cite[22-23]{smith.1899}"]]
298298 ,[Plain [Math InlineMath "2+2=4"]]
@@ -311,7 +311,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
311311,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
312312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
313313,HorizontalRule
314−,Header 1 [Str "Special",Space,Str "Characters"]
314+,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"]
315315,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
316316,BulletList
317317 [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -341,8 +341,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
341341,Para [Str "Plus:",Space,Str "+"]
342342,Para [Str "Minus:",Space,Str "-"]
343343,HorizontalRule
344−,Header 1 [Str "Links"]
345−,Header 2 [Str "Explicit"]
344+,Header 1 ("links",[],[]) [Str "Links"]
345+,Header 2 ("explicit",[],[]) [Str "Explicit"]
346346,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
347347,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
348348,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
@@ -352,7 +352,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
352352,Para [Link [Str "with_underscore"] ("/url/with_underscore","")]
353353,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
354354,Para [Link [Str "Empty"] ("",""),Str "."]
355−,Header 2 [Str "Reference"]
355+,Header 2 ("reference",[],[]) [Str "Reference"]
356356,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
357357,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
358358,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
@@ -365,12 +365,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
365365,CodeBlock ("",[],[]) "[not]: /url"
366366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
367367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
368−,Header 2 [Str "With",Space,Str "ampersands"]
368+,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"]
369369,Para [Str "Here\8217s",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 "."]
370370,Para [Str "Here\8217s",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 "."]
371371,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
372372,Para [Str "Here\8217s",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 "."]
373−,Header 2 [Str "Autolinks"]
373+,Header 2 ("autolinks",[],[]) [Str "Autolinks"]
374374,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
375375,BulletList
376376 [[Plain [Str "In",Space,Str "a",Space,Str "list?"]]
@@ -382,12 +382,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
382382,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
383383,CodeBlock ("",[],[]) "or here: <http://example.com/>"
384384,HorizontalRule
385−,Header 1 [Str "Images"]
385+,Header 1 ("images",[],[]) [Str "Images"]
386386,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):"]
387387,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
388388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
389389,HorizontalRule
390−,Header 1 [Str "Footnotes"]
390+,Header 1 ("footnotes",[],[]) [Str "Footnotes"]
391391,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\8217s",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.[^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]."]]]
392392,BlockQuote
393393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
tests/textile-reader.native+29−29
@@ -1,13 +1,13 @@
11Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
22[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",Str "\8217",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
33,HorizontalRule
4−,Header 1 [Str "Headers"]
5−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
6−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]]
7−,Header 4 [Str "Level",Space,Str "4"]
8−,Header 5 [Str "Level",Space,Str "5"]
9−,Header 6 [Str "Level",Space,Str "6"]
10−,Header 1 [Str "Paragraphs"]
4+,Header 1 ("",[],[]) [Str "Headers"]
5+,Header 2 ("",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
6+,Header 3 ("",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]]
7+,Header 4 ("",[],[]) [Str "Level",Space,Str "4"]
8+,Header 5 ("",[],[]) [Str "Level",Space,Str "5"]
9+,Header 6 ("",[],[]) [Str "Level",Space,Str "6"]
10+,Header 1 ("",[],[]) [Str "Paragraphs"]
1111,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
1212,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 "."]
1313,Para [Str "Here",Str "\8217",Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str "."]
@@ -16,23 +16,23 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
1616,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "paragraph",Space,Str "break",Space,Str "between",Space,Str "here"]
1717,Para [Str "and",Space,Str "here",Str "."]
1818,Para [Str "pandoc",Space,Str "converts",Space,Str "textile",Str "."]
19−,Header 1 [Str "Block",Space,Str "Quotes"]
19+,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"]
2020,BlockQuote
2121 [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 "."]]
2222,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph",Str "."]
23−,Header 1 [Str "Code",Space,Str "Blocks"]
23+,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"]
2424,Para [Str "Code",Str ":"]
2525,CodeBlock ("",[],[]) " ---- (should be four hyphens)\n\n sub status {\n print \"working\";\n }\n\n this code block is indented by one tab"
2626,Para [Str "And",Str ":"]
2727,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\n These should not be escaped: \\$ \\\\ \\> \\[ \\{"
2828,CodeBlock ("",[],[]) "Code block with .bc\n continued\n @</\\\n"
2929,Para [Str "Inline",Space,Str "code",Str ":",Space,Code ("",[],[]) "<tt>",Str ",",Space,Code ("",[],[]) "@",Str "."]
30−,Header 1 [Str "Notextile"]
30+,Header 1 ("",[],[]) [Str "Notextile"]
3131,Para [Str "A",Space,Str "block",Space,Str "of",Space,Str "text",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "notextile",Space,Str ":"]
3232,Para [Str "\nNo *bold* and\n* no bullet\n"]
3333,Para [Str "and",Space,Str "inlines",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "double *equals (=)* markup",Str "."]
34−,Header 1 [Str "Lists"]
35−,Header 2 [Str "Unordered"]
34+,Header 1 ("",[],[]) [Str "Lists"]
35+,Header 2 ("",[],[]) [Str "Unordered"]
3636,Para [Str "Asterisks",Space,Str "tight",Str ":"]
3737,BulletList
3838 [[Plain [Str "asterisk",Space,Str "1"]]
@@ -42,13 +42,13 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
4242,BulletList
4343 [[Plain [Str "asterisk",Space,Str "1",LineBreak,Str "newline"]]
4444 ,[Plain [Str "asterisk",Space,Str "2"]]]
45−,Header 2 [Str "Ordered"]
45+,Header 2 ("",[],[]) [Str "Ordered"]
4646,Para [Str "Tight",Str ":"]
4747,OrderedList (1,DefaultStyle,DefaultDelim)
4848 [[Plain [Str "First"]]
4949 ,[Plain [Str "Second"]]
5050 ,[Plain [Str "Third"]]]
51−,Header 2 [Str "Nested"]
51+,Header 2 ("",[],[]) [Str "Nested"]
5252,BulletList
5353 [[Plain [Str "ui",Space,Str "1"]
5454 ,BulletList
@@ -63,7 +63,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
6363 ,BulletList
6464 [[Plain [Str "ui",Space,Str "2",Str ".",Str "1",Str ".",Str "1"]]
6565 ,[Plain [Str "ui",Space,Str "2",Str ".",Str "1",Str ".",Str "2"]]]]]]]
66−,Header 2 [Str "Definition",Space,Str "List"]
66+,Header 2 ("",[],[]) [Str "Definition",Space,Str "List"]
6767,DefinitionList
6868 [([Str "coffee"],
6969 [[Plain [Str "Hot",Space,Str "and",Space,Str "black"]]])
@@ -74,23 +74,23 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
7474 ,Para [Str "Cold",Space,Str "drink",Space,Str "that",Space,Str "goes",Space,Str "great",Space,Str "with",Space,Str "cookies",Str "."]]])
7575 ,([Str "beer"],
7676 [[Plain [Str "fresh",Space,Str "and",Space,Str "bitter"]]])]
77−,Header 1 [Str "Inline",Space,Str "Markup"]
77+,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"]
7878,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 "Hyphenated-words-are-ok",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "strange_underscore_notation",Str ".",LineBreak,Str "A",Space,Link [Strong [Str "strong",Space,Str "link"]] ("http://www.foobar.com",""),Str "."]
7979,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"]]]
8080,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,Subscript [Str "here"],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 "."]
8181,Para [Str "Dashes",Space,Str ":",Space,Str "How",Space,Str "cool",Space,Str "\8212",Space,Str "automatic",Space,Str "dashes",Str "."]
8282,Para [Str "Elipses",Space,Str ":",Space,Str "He",Space,Str "thought",Space,Str "and",Space,Str "thought",Space,Str "\8230",Space,Str "and",Space,Str "then",Space,Str "thought",Space,Str "some",Space,Str "more",Str "."]
8383,Para [Str "Quotes",Space,Str "and",Space,Str "apostrophes",Space,Str ":",Space,Quoted DoubleQuote [Str "I",Str "\8217",Str "d",Space,Str "like",Space,Str "to",Space,Str "thank",Space,Str "you"],Space,Str "for",Space,Str "example",Str "."]
84−,Header 1 [Str "Links"]
85−,Header 2 [Str "Explicit"]
84+,Header 1 ("",[],[]) [Str "Links"]
85+,Header 2 ("",[],[]) [Str "Explicit"]
8686,Para [Str "Just",Space,Str "a",Space,Link [Str "url"] ("http://www.url.com","")]
8787,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
8888,Para [Str "Automatic",Space,Str "linking",Space,Str "to",Space,Link [Str "http://www.example.com"] ("http://www.example.com",""),Str "."]
8989,Para [Link [Str "Example"] ("http://www.example.com/",""),Str ":",Space,Str "Example",Space,Str "of",Space,Str "a",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "colon",Str "."]
9090,Para [Str "A",Space,Str "link",Link [Str "with",Space,Str "brackets"] ("http://www.example.com",""),Str "and",Space,Str "no",Space,Str "spaces",Str "."]
91−,Header 1 [Str "Tables"]
91+,Header 1 ("",[],[]) [Str "Tables"]
9292,Para [Str "Textile",Space,Str "allows",Space,Str "tables",Space,Str "with",Space,Str "and",Space,Str "without",Space,Str "headers",Space,Str ":"]
93−,Header 2 [Str "Without",Space,Str "headers"]
93+,Header 2 ("",[],[]) [Str "Without",Space,Str "headers"]
9494,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
9595 []
9696 [[[Plain [Str "name"]]
@@ -106,7 +106,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
106106 ,[Plain [Str "45"]]
107107 ,[Plain [Str "f"]]]]
108108,Para [Str "and",Space,Str "some",Space,Str "text",Space,Str "following",Space,Str "\8230"]
109−,Header 2 [Str "With",Space,Str "headers"]
109+,Header 2 ("",[],[]) [Str "With",Space,Str "headers"]
110110,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
111111 [[Plain [Str "name"]]
112112 ,[Plain [Str "age"]]
@@ -120,10 +120,10 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
120120 ,[[Plain [Str "bella"]]
121121 ,[Plain [Str "45"]]
122122 ,[Plain [Str "f"]]]]
123−,Header 1 [Str "Images"]
123+,Header 1 ("",[],[]) [Str "Images"]
124124,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 "."]
125−,Header 1 [Str "Attributes"]
126−,Header 2 [Str "HTML",Space,Str "and",Space,Str "CSS",Space,Str "attributes",Space,Str "are",Space,Str "ignored"]
125+,Header 1 ("",[],[]) [Str "Attributes"]
126+,Header 2 ("",[],[]) [Str "HTML",Space,Str "and",Space,Str "CSS",Space,Str "attributes",Space,Str "are",Space,Str "ignored"]
127127,Para [Str "as",Space,Str "well",Space,Str "as",Space,Strong [Str "inline",Space,Str "attributes"],Space,Str "of",Space,Str " all kind"]
128128,Para [Str "and",Space,Str "paragraph",Space,Str "attributes",Str ",",Space,Str "and",Space,Str "table",Space,Str "attributes",Str "."]
129129,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
@@ -134,7 +134,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
134134 ,[[Plain [Str "joan"]]
135135 ,[Plain [Str "24"]]
136136 ,[Plain [Str "f"]]]]
137−,Header 1 [Str "Raw",Space,Str "HTML"]
137+,Header 1 ("",[],[]) [Str "Raw",Space,Str "HTML"]
138138,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 ":"]
139139,RawBlock "html" "<div class=\"foobar\">"
140140,Para [Str "any",Space,Strong [Str "Raw",Space,Str "HTML",Space,Str "Block"],Space,Str "with",Space,Str "bold",LineBreak]
@@ -148,18 +148,18 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
148148 [[Plain [Str "this",Space,Str "<",Str "div",Str ">",Space,Str "won",Str "\8217",Str "t",Space,Str "produce",Space,Str "raw",Space,Str "html",Space,Str "blocks",Space,Str "<",Str "/div",Str ">"]]
149149 ,[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>"]]]
150150,Para [Str "Can",Space,Str "you",Space,Str "prove",Space,Str "that",Space,Str "2",Space,Str "<",Space,Str "3",Space,Str "?"]
151−,Header 1 [Str "Raw",Space,Str "LaTeX"]
151+,Header 1 ("",[],[]) [Str "Raw",Space,Str "LaTeX"]
152152,Para [Str "This",Space,Str "Textile",Space,Str "reader",Space,Str "also",Space,Str "accepts",Space,Str "raw",Space,Str "LaTeX",Space,Str "for",Space,Str "blocks",Space,Str ":"]
153153,RawBlock "latex" "\\begin{itemize}\n \\item one\n \\item two\n\\end{itemize}"
154154,Para [Str "and",Space,Str "for",Space,RawInline "latex" "\\emph{inlines}",Str "."]
155−,Header 1 [Str "Acronyms",Space,Str "and",Space,Str "marks"]
155+,Header 1 ("",[],[]) [Str "Acronyms",Space,Str "and",Space,Str "marks"]
156156,Para [Str "PBS (Public Broadcasting System)"]
157157,Para [Str "Hi",Str "\8482"]
158158,Para [Str "Hi",Space,Str "\8482"]
159159,Para [Str "\174",Space,Str "Hi",Str "\174"]
160160,Para [Str "Hi",Str "\169",Str "2008",Space,Str "\169",Space,Str "2008"]
161−,Header 1 [Str "Footnotes"]
161+,Header 1 ("",[],[]) [Str "Footnotes"]
162162,Para [Str "A",Space,Str "note",Str ".",Note [Para [Str "The",Space,Str "note",LineBreak,Str "is",Space,Str "here",Str "!"]],Space,Str "Another",Space,Str "note",Note [Para [Str "Other",Space,Str "note",Str "."]],Str "."]
163−,Header 1 [Str "Comment",Space,Str "blocks"]
163+,Header 1 ("",[],[]) [Str "Comment",Space,Str "blocks"]
164164,Null
165165,Para [Str "not",Space,Str "a",Space,Str "comment",Str "."]]
tests/writer.asciidoc+31
@@ -9,31 +9,40 @@ markdown test suite.
99
1010'''''
1111
12+[[headers]]
1213Headers
1314-------
1415
16+[[level-2-with-an-embedded-link]]
1517Level 2 with an link:/url[embedded link]
1618~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1719
20+[[level-3-with-emphasis]]
1821Level 3 with _emphasis_
1922^^^^^^^^^^^^^^^^^^^^^^^
2023
24+[[level-4]]
2125Level 4
2226+++++++
2327
28+[[level-5]]
2429Level 5
2530
31+[[level-1]]
2632Level 1
2733-------
2834
35+[[level-2-with-emphasis]]
2936Level 2 with _emphasis_
3037~~~~~~~~~~~~~~~~~~~~~~~
3138
39+[[level-3]]
3240Level 3
3341^^^^^^^
3442
3543with no blank line
3644
45+[[level-2]]
3746Level 2
3847~~~~~~~
3948
@@ -41,6 +50,7 @@ with no blank line
4150
4251'''''
4352
53+[[paragraphs]]
4454Paragraphs
4555----------
4656
@@ -57,6 +67,7 @@ here.
5767
5868'''''
5969
70+[[block-quotes]]
6071Block Quotes
6172------------
6273
@@ -100,6 +111,7 @@ And a following paragraph.
100111
101112'''''
102113
114+[[code-blocks]]
103115Code Blocks
104116-----------
105117
@@ -125,9 +137,11 @@ These should not be escaped: \$ \\ \> \[ \{
125137
126138'''''
127139
140+[[lists]]
128141Lists
129142-----
130143
144+[[unordered]]
131145Unordered
132146~~~~~~~~~
133147
@@ -167,6 +181,7 @@ Minuses loose:
167181* Minus 2
168182* Minus 3
169183
184+[[ordered]]
170185Ordered
171186~~~~~~~
172187
@@ -202,6 +217,7 @@ Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.
2022172. Item 2.
2032183. Item 3.
204219
220+[[nested]]
205221Nested
206222~~~~~~
207223
@@ -227,6 +243,7 @@ Same thing but with paragraphs:
227243* Foe
2282443. Third
229245
246+[[tabs-and-spaces]]
230247Tabs and spaces
231248~~~~~~~~~~~~~~~
232249
@@ -235,6 +252,7 @@ Tabs and spaces
235252** this is an example list item indented with tabs
236253** this is an example list item indented with spaces
237254
255+[[fancy-list-markers]]
238256Fancy list markers
239257~~~~~~~~~~~~~~~~~~
240258
@@ -268,6 +286,7 @@ B. Williams
268286
269287'''''
270288
289+[[definition-lists]]
271290Definition Lists
272291----------------
273292
@@ -349,6 +368,7 @@ orange::
349368 1. sublist
350369 2. sublist
351370
371+[[html-blocks]]
352372HTML Blocks
353373-----------
354374
@@ -405,6 +425,7 @@ Hr’s:
405425
406426'''''
407427
428+[[inline-markup]]
408429Inline Markup
409430-------------
410431
@@ -435,6 +456,7 @@ spaces: a^b c^d, a~b c~d.
435456
436457'''''
437458
459+[[smart-quotes-ellipses-dashes]]
438460Smart quotes, ellipses, dashes
439461------------------------------
440462
@@ -457,6 +479,7 @@ Ellipses…and…and….
457479
458480'''''
459481
482+[[latex]]
460483LaTeX
461484-----
462485
@@ -483,6 +506,7 @@ Here’s a LaTeX table:
483506
484507'''''
485508
509+[[special-characters]]
486510Special Characters
487511------------------
488512
@@ -538,9 +562,11 @@ Minus: -
538562
539563'''''
540564
565+[[links]]
541566Links
542567-----
543568
569+[[explicit]]
544570Explicit
545571~~~~~~~~
546572
@@ -562,6 +588,7 @@ mailto:nobody@nowhere.net[Email link]
562588
563589link:[Empty].
564590
591+[[reference]]
565592Reference
566593~~~~~~~~~
567594
@@ -591,6 +618,7 @@ Foo link:/url/[bar].
591618
592619Foo link:/url/[biz].
593620
621+[[with-ampersands]]
594622With ampersands
595623~~~~~~~~~~~~~~~
596624
@@ -602,6 +630,7 @@ Here’s an link:/script?foo=1&bar=2[inline link].
602630
603631Here’s an link:/script?foo=1&bar=2[inline link in pointy braces].
604632
633+[[autolinks]]
605634Autolinks
606635~~~~~~~~~
607636
@@ -625,6 +654,7 @@ or here: <http://example.com/>
625654
626655'''''
627656
657+[[images]]
628658Images
629659------
630660
@@ -636,6 +666,7 @@ Here is a movie image:movie.jpg[movie] icon.
636666
637667'''''
638668
669+[[footnotes]]
639670Footnotes
640671---------
641672
tests/writer.native+31−31
@@ -1,25 +1,25 @@
11Pandoc (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"]})
22[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\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
33,HorizontalRule
4−,Header 1 [Str "Headers"]
5−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6−,Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7−,Header 4 [Str "Level",Space,Str "4"]
8−,Header 5 [Str "Level",Space,Str "5"]
9−,Header 1 [Str "Level",Space,Str "1"]
10−,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11−,Header 3 [Str "Level",Space,Str "3"]
4+,Header 1 ("headers",[],[]) [Str "Headers"]
5+,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
6+,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
7+,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"]
8+,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"]
9+,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"]
10+,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
11+,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"]
1212,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
13−,Header 2 [Str "Level",Space,Str "2"]
13+,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"]
1414,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
1515,HorizontalRule
16−,Header 1 [Str "Paragraphs"]
16+,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"]
1717,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
1818,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."]
1919,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
2020,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
2121,HorizontalRule
22−,Header 1 [Str "Block",Space,Str "Quotes"]
22+,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"]
2323,Para [Str "E-mail",Space,Str "style:"]
2424,BlockQuote
2525 [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."]]
@@ -38,14 +38,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
3838,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."]
3939,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
4040,HorizontalRule
41−,Header 1 [Str "Code",Space,Str "Blocks"]
41+,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"]
4242,Para [Str "Code:"]
4343,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
4444,Para [Str "And:"]
4545,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
4646,HorizontalRule
47−,Header 1 [Str "Lists"]
48−,Header 2 [Str "Unordered"]
47+,Header 1 ("lists",[],[]) [Str "Lists"]
48+,Header 2 ("unordered",[],[]) [Str "Unordered"]
4949,Para [Str "Asterisks",Space,Str "tight:"]
5050,BulletList
5151 [[Plain [Str "asterisk",Space,Str "1"]]
@@ -76,7 +76,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
7676 [[Para [Str "Minus",Space,Str "1"]]
7777 ,[Para [Str "Minus",Space,Str "2"]]
7878 ,[Para [Str "Minus",Space,Str "3"]]]
79−,Header 2 [Str "Ordered"]
79+,Header 2 ("ordered",[],[]) [Str "Ordered"]
8080,Para [Str "Tight:"]
8181,OrderedList (1,Decimal,Period)
8282 [[Plain [Str "First"]]
@@ -103,7 +103,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
103103 ,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\8217s",Space,Str "back."]]
104104 ,[Para [Str "Item",Space,Str "2."]]
105105 ,[Para [Str "Item",Space,Str "3."]]]
106−,Header 2 [Str "Nested"]
106+,Header 2 ("nested",[],[]) [Str "Nested"]
107107,BulletList
108108 [[Plain [Str "Tab"]
109109 ,BulletList
@@ -128,14 +128,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
128128 ,[Plain [Str "Fie"]]
129129 ,[Plain [Str "Foe"]]]]
130130 ,[Para [Str "Third"]]]
131−,Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
131+,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"]
132132,BulletList
133133 [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]]
134134 ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
135135 ,BulletList
136136 [[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"]]
137137 ,[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"]]]]]
138−,Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
138+,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"]
139139,OrderedList (2,Decimal,TwoParens)
140140 [[Plain [Str "begins",Space,Str "with",Space,Str "2"]]
141141 ,[Para [Str "and",Space,Str "now",Space,Str "3"]
@@ -165,7 +165,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
165165,Para [Str "M.A.\160\&2007"]
166166,Para [Str "B.",Space,Str "Williams"]
167167,HorizontalRule
168−,Header 1 [Str "Definition",Space,Str "Lists"]
168+,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"]
169169,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
170170,DefinitionList
171171 [([Str "apple"],
@@ -226,7 +226,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
226226 ,OrderedList (1,Decimal,Period)
227227 [[Plain [Str "sublist"]]
228228 ,[Plain [Str "sublist"]]]]])]
229−,Header 1 [Str "HTML",Space,Str "Blocks"]
229+,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"]
230230,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
231231,RawBlock "html" "<div>"
232232,Plain [Str "foo"]
@@ -268,7 +268,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
268268,Para [Str "Hr\8217s:"]
269269,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"
270270,HorizontalRule
271−,Header 1 [Str "Inline",Space,Str "Markup"]
271+,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"]
272272,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 "."]
273273,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 "."]
274274,Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
@@ -282,7 +282,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
282282,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\160of\160them"],Str "O."]
283283,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^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."]
284284,HorizontalRule
285−,Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
285+,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
286286,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."]]
287287,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."]
288288,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."]]
@@ -292,7 +292,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
292292,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."]
293293,Para [Str "Ellipses\8230and\8230and\8230."]
294294,HorizontalRule
295−,Header 1 [Str "LaTeX"]
295+,Header 1 ("latex",[],[]) [Str "LaTeX"]
296296,BulletList
297297 [[Plain [RawInline "tex" "\\cite[22-23]{smith.1899}"]]
298298 ,[Plain [Math InlineMath "2+2=4"]]
@@ -311,7 +311,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
311311,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
312312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
313313,HorizontalRule
314−,Header 1 [Str "Special",Space,Str "Characters"]
314+,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"]
315315,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
316316,BulletList
317317 [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]]
@@ -341,8 +341,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
341341,Para [Str "Plus:",Space,Str "+"]
342342,Para [Str "Minus:",Space,Str "-"]
343343,HorizontalRule
344−,Header 1 [Str "Links"]
345−,Header 2 [Str "Explicit"]
344+,Header 1 ("links",[],[]) [Str "Links"]
345+,Header 2 ("explicit",[],[]) [Str "Explicit"]
346346,Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
347347,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."]
348348,Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."]
@@ -352,7 +352,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
352352,Para [Link [Str "with_underscore"] ("/url/with_underscore","")]
353353,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
354354,Para [Link [Str "Empty"] ("",""),Str "."]
355−,Header 2 [Str "Reference"]
355+,Header 2 ("reference",[],[]) [Str "Reference"]
356356,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
357357,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
358358,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
@@ -365,12 +365,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
365365,CodeBlock ("",[],[]) "[not]: /url"
366366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
367367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
368−,Header 2 [Str "With",Space,Str "ampersands"]
368+,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"]
369369,Para [Str "Here\8217s",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 "."]
370370,Para [Str "Here\8217s",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 "."]
371371,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
372372,Para [Str "Here\8217s",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 "."]
373−,Header 2 [Str "Autolinks"]
373+,Header 2 ("autolinks",[],[]) [Str "Autolinks"]
374374,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
375375,BulletList
376376 [[Plain [Str "In",Space,Str "a",Space,Str "list?"]]
@@ -382,12 +382,12 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
382382,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) "<http://example.com/>"]
383383,CodeBlock ("",[],[]) "or here: <http://example.com/>"
384384,HorizontalRule
385−,Header 1 [Str "Images"]
385+,Header 1 ("images",[],[]) [Str "Images"]
386386,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):"]
387387,Para [Image [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")]
388388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon."]
389389,HorizontalRule
390−,Header 1 [Str "Footnotes"]
390+,Header 1 ("footnotes",[],[]) [Str "Footnotes"]
391391,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\8217s",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.[^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]."]]]
392392,BlockQuote
393393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
tests/writer.textile+31−31
@@ -2,31 +2,31 @@ This is a set of tests for pandoc. Most of them are adapted from John Gruber's m
22
33<hr />
44
5−h1. Headers
5+h1(#headers). Headers
66
7−h2. Level 2 with an "embedded link":/url
7+h2(#level-2-with-an-embedded-link). Level 2 with an "embedded link":/url
88
9−h3. Level 3 with _emphasis_
9+h3(#level-3-with-emphasis). Level 3 with _emphasis_
1010
11−h4. Level 4
11+h4(#level-4). Level 4
1212
13−h5. Level 5
13+h5(#level-5). Level 5
1414
15−h1. Level 1
15+h1(#level-1). Level 1
1616
17−h2. Level 2 with _emphasis_
17+h2(#level-2-with-emphasis). Level 2 with _emphasis_
1818
19−h3. Level 3
19+h3(#level-3). Level 3
2020
2121with no blank line
2222
23−h2. Level 2
23+h2(#level-2). Level 2
2424
2525with no blank line
2626
2727<hr />
2828
29−h1. Paragraphs
29+h1(#paragraphs). Paragraphs
3030
3131Here's a regular paragraph.
3232
@@ -39,7 +39,7 @@ here.
3939
4040<hr />
4141
42−h1. Block Quotes
42+h1(#block-quotes). Block Quotes
4343
4444E-mail style:
4545
@@ -79,7 +79,7 @@ And a following paragraph.
7979
8080<hr />
8181
82−h1. Code Blocks
82+h1(#code-blocks). Code Blocks
8383
8484Code:
8585
@@ -103,9 +103,9 @@ These should not be escaped: \$ \\ \&gt; \[ \{
103103
104104<hr />
105105
106−h1. Lists
106+h1(#lists). Lists
107107
108−h2. Unordered
108+h2(#unordered). Unordered
109109
110110Asterisks tight:
111111
@@ -143,7 +143,7 @@ Minuses loose:
143143* Minus 2
144144* Minus 3
145145
146−h2. Ordered
146+h2(#ordered). Ordered
147147
148148Tight:
149149
@@ -178,7 +178,7 @@ Multiple paragraphs:
178178<li><p>Item 3.</p></li>
179179</ol>
180180
181−h2. Nested
181+h2(#nested). Nested
182182
183183* Tab
184184** Tab
@@ -202,14 +202,14 @@ Same thing but with paragraphs:
202202#* Foe
203203# Third
204204
205−h2. Tabs and spaces
205+h2(#tabs-and-spaces). Tabs and spaces
206206
207207* this is a list item indented with tabs
208208* this is a list item indented with spaces
209209** this is an example list item indented with tabs
210210** this is an example list item indented with spaces
211211
212−h2. Fancy list markers
212+h2(#fancy-list-markers). Fancy list markers
213213
214214<ol start="2" style="list-style-type: decimal;">
215215<li>begins with 2</li>
@@ -259,7 +259,7 @@ B. Williams
259259
260260<hr />
261261
262−h1. Definition Lists
262+h1(#definition-lists). Definition Lists
263263
264264Tight using spaces:
265265
@@ -347,7 +347,7 @@ Blank line after term, indented marker, alternate markers:
347347</dd>
348348</dl>
349349
350−h1. HTML Blocks
350+h1(#html-blocks). HTML Blocks
351351
352352Simple block on one line:
353353
@@ -464,7 +464,7 @@ Hr's:
464464
465465<hr />
466466
467−h1. Inline Markup
467+h1(#inline-markup). Inline Markup
468468
469469This is _emphasized_, and so _is this_.
470470
@@ -492,7 +492,7 @@ These should not be superscripts or subscripts, because of the unescaped spaces:
492492
493493<hr />
494494
495−h1. Smart quotes, ellipses, dashes
495+h1(#smart-quotes-ellipses-dashes). Smart quotes, ellipses, dashes
496496
497497"Hello," said the spider. "'Shelob' is my name."
498498
@@ -512,7 +512,7 @@ Ellipses...and...and....
512512
513513<hr />
514514
515−h1. LaTeX
515+h1(#latex). LaTeX
516516
517517*
518518* <span class="math">2+2=4</math>
@@ -535,7 +535,7 @@ Here's a LaTeX table:
535535
536536<hr />
537537
538−h1. Special Characters
538+h1(#special-characters). Special Characters
539539
540540Here is some unicode:
541541
@@ -589,9 +589,9 @@ Minus: -
589589
590590<hr />
591591
592−h1. Links
592+h1(#links). Links
593593
594−h2. Explicit
594+h2(#explicit). Explicit
595595
596596Just a "URL":/url/.
597597
@@ -611,7 +611,7 @@ Just a "URL":/url/.
611611
612612"Empty":.
613613
614−h2. Reference
614+h2(#reference). Reference
615615
616616Foo "bar":/url/.
617617
@@ -638,7 +638,7 @@ Foo "bar":/url/.
638638
639639Foo "biz":/url/.
640640
641−h2. With ampersands
641+h2(#with-ampersands). With ampersands
642642
643643Here's a "link with an ampersand in the URL":http://example.com/?foo=1&bar=2.
644644
@@ -648,7 +648,7 @@ Here's an "inline link":/script?foo=1&bar=2.
648648
649649Here's an "inline link in pointy braces":/script?foo=1&bar=2.
650650
651−h2. Autolinks
651+h2(#autolinks). Autolinks
652652
653653With an ampersand: "$":http://example.com/?foo=1&bar=2
654654
@@ -669,7 +669,7 @@ bc. or here: <http://example.com/>
669669
670670<hr />
671671
672−h1. Images
672+h1(#images). Images
673673
674674From "Voyage dans la Lune" by Georges Melies (1902):
675675
@@ -680,7 +680,7 @@ Here is a movie !movie.jpg(movie)! icon.
680680
681681<hr />
682682
683−h1. Footnotes
683+h1(#footnotes). Footnotes
684684
685685Here 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]
686686