From 78d3a0fb9d3f862d5e2b61bd45434f7af9cd9f18 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 11 Aug 2012 15:04:12 -0700 Subject: Implemented Ext_markdown_attribute. This adds markdown=1 to block tags. --- src/Text/Pandoc/Readers/Markdown.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 8a1299de6..fbcdeeb14 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -736,10 +736,19 @@ rawTeXBlock = do spaces return $ return result +addMarkdownAttribute :: (Tag String, String) -> Parser [Char] ParserState String +addMarkdownAttribute (t,s) = do + (guardDisabled Ext_markdown_attribute >> return s) + <|> case t of + TagOpen x attrs + | "markdown" `elem` map fst attrs -> return s + | otherwise -> return $ renderTags [TagOpen x (("markdown","1"):attrs)] + _ -> return s + rawHtmlBlocks :: Parser [Char] ParserState String rawHtmlBlocks = do htmlBlocks <- many1 $ do blk <- rawVerbatimBlock <|> - liftM snd (htmlTag isBlockTag) + (htmlTag isBlockTag >>= addMarkdownAttribute) sps <- do sp1 <- many spaceChar sp2 <- option "" (blankline >> return "\n") sp3 <- many spaceChar -- cgit v1.2.3