Merge pull request #1689 from kuribas/master
Use '=' instead of '#' for atx-style headers in markdown+lhs.
This commit is contained in:
commit
defcb5b6b1
2 changed files with 11 additions and 4 deletions
3
README
3
README
|
@ -3285,7 +3285,8 @@ literate Haskell source. This means that
|
||||||
|
|
||||||
- In markdown input, "bird track" sections will be parsed as Haskell
|
- In markdown input, "bird track" sections will be parsed as Haskell
|
||||||
code rather than block quotations. Text between `\begin{code}`
|
code rather than block quotations. Text between `\begin{code}`
|
||||||
and `\end{code}` will also be treated as Haskell code.
|
and `\end{code}` will also be treated as Haskell code. For
|
||||||
|
atx-style headers the character '=' will be used instead of '#'.
|
||||||
|
|
||||||
- In markdown output, code blocks with classes `haskell` and `literate`
|
- In markdown output, code blocks with classes `haskell` and `literate`
|
||||||
will be rendered using bird tracks, and block quotations will be
|
will be rendered using bird tracks, and block quotations will be
|
||||||
|
|
|
@ -503,9 +503,15 @@ block = do
|
||||||
header :: MarkdownParser (F Blocks)
|
header :: MarkdownParser (F Blocks)
|
||||||
header = setextHeader <|> atxHeader <?> "header"
|
header = setextHeader <|> atxHeader <?> "header"
|
||||||
|
|
||||||
|
atxChar :: MarkdownParser Char
|
||||||
|
atxChar = do
|
||||||
|
exts <- getOption readerExtensions
|
||||||
|
return $ if Set.member Ext_literate_haskell exts
|
||||||
|
then '=' else '#'
|
||||||
|
|
||||||
atxHeader :: MarkdownParser (F Blocks)
|
atxHeader :: MarkdownParser (F Blocks)
|
||||||
atxHeader = try $ do
|
atxHeader = try $ do
|
||||||
level <- many1 (char '#') >>= return . length
|
level <- atxChar >>= many1 . char >>= return . length
|
||||||
notFollowedBy $ guardEnabled Ext_fancy_lists >>
|
notFollowedBy $ guardEnabled Ext_fancy_lists >>
|
||||||
(char '.' <|> char ')') -- this would be a list
|
(char '.' <|> char ')') -- this would be a list
|
||||||
skipSpaces
|
skipSpaces
|
||||||
|
@ -521,7 +527,7 @@ atxClosing :: MarkdownParser Attr
|
||||||
atxClosing = try $ do
|
atxClosing = try $ do
|
||||||
attr' <- option nullAttr
|
attr' <- option nullAttr
|
||||||
(guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier)
|
(guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier)
|
||||||
skipMany (char '#')
|
skipMany . char =<< atxChar
|
||||||
skipSpaces
|
skipSpaces
|
||||||
attr <- option attr'
|
attr <- option attr'
|
||||||
(guardEnabled Ext_header_attributes >> attributes)
|
(guardEnabled Ext_header_attributes >> attributes)
|
||||||
|
@ -1649,7 +1655,7 @@ endline = try $ do
|
||||||
notFollowedBy (inList >> listStart)
|
notFollowedBy (inList >> listStart)
|
||||||
guardDisabled Ext_lists_without_preceding_blankline <|> notFollowedBy listStart
|
guardDisabled Ext_lists_without_preceding_blankline <|> notFollowedBy listStart
|
||||||
guardEnabled Ext_blank_before_blockquote <|> notFollowedBy emailBlockQuoteStart
|
guardEnabled Ext_blank_before_blockquote <|> notFollowedBy emailBlockQuoteStart
|
||||||
guardEnabled Ext_blank_before_header <|> notFollowedBy (char '#') -- atx header
|
guardEnabled Ext_blank_before_header <|> (notFollowedBy . char =<< atxChar) -- atx header
|
||||||
guardDisabled Ext_backtick_code_blocks <|>
|
guardDisabled Ext_backtick_code_blocks <|>
|
||||||
notFollowedBy (() <$ (lookAhead (char '`') >> codeBlockFenced))
|
notFollowedBy (() <$ (lookAhead (char '`') >> codeBlockFenced))
|
||||||
notFollowedByHtmlCloser
|
notFollowedByHtmlCloser
|
||||||
|
|
Loading…
Add table
Reference in a new issue