git.iko.soy/typeable/pandoc
on master help sign in
Implemented Ext_mmd_header_identifiers in markdown reader.
commit4926645578aecc08ea496860f1608fa3e8ffd572 authorJohn MacFarlane <jgm@berkeley.edu> dateWed 16 Jan 2013, 09:17 (14 years ago) parent923204d
2 files changed+23−4
src/Text/Pandoc/Options.hs+1 src/Text/Pandoc/Readers/Markdown.hs+22−4
src/Text/Pandoc/Options.hs+1
@@ -169,6 +169,7 @@ multimarkdownExtensions :: Set Extension
169169multimarkdownExtensions = Set.fromList
170170 [ Ext_pipe_tables
171171 , Ext_raw_html
172+ , Ext_markdown_attribute
172173 , Ext_raw_tex
173174 , Ext_tex_math_double_backslash
174175 , Ext_intraword_underscores
src/Text/Pandoc/Readers/Markdown.hs+22−4
@@ -396,12 +396,30 @@ atxHeader = try $ do
396396 attr' <- addToHeaderList attr text
397397 return $ B.headerWith attr' level <$> text
398398
399−atxClosing :: Parser [Char] st Attr
400−atxClosing =
401− try $ skipMany (char '#') >> skipSpaces >> option nullAttr attributes <* blanklines
399+atxClosing :: MarkdownParser Attr
400+atxClosing = try $ do
401+ attr' <- option nullAttr
402+ (guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier)
403+ skipMany (char '#')
404+ skipSpaces
405+ attr <- option attr'
406+ (guardEnabled Ext_header_attributes >> attributes)
407+ blanklines
408+ return attr
402409
403410setextHeaderEnd :: MarkdownParser Attr
404−setextHeaderEnd = try $ option nullAttr attributes <* blankline
411+setextHeaderEnd = try $ do
412+ attr <- option nullAttr
413+ $ (guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier)
414+ <|> (guardEnabled Ext_header_attributes >> attributes)
415+ blanklines
416+ return attr
417+
418+mmdHeaderIdentifier :: MarkdownParser Attr
419+mmdHeaderIdentifier = do
420+ ident <- stripFirstAndLast . snd <$> reference
421+ skipSpaces
422+ return (ident,[],[])
405423
406424setextHeader :: MarkdownParser (F Blocks)
407425setextHeader = try $ do