From 27304513f660cc158d73ec5684a01491fa1fed99 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 12 Aug 2012 22:04:23 -0700 Subject: Added Ext_raw_html extension. Closes #556 -- you can now specify markdown-raw_html as your input format. (Read: markdown minus raw_html.) --- src/Text/Pandoc/Options.hs | 5 ++++- src/Text/Pandoc/Readers/Markdown.hs | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs index 9992cc9d9..3214a89b6 100644 --- a/src/Text/Pandoc/Options.hs +++ b/src/Text/Pandoc/Options.hs @@ -58,6 +58,7 @@ data Extension = Ext_footnotes | Ext_pipe_tables | Ext_citations | Ext_raw_tex + | Ext_raw_html | Ext_tex_math_dollars | Ext_tex_math_single_backslash | Ext_tex_math_double_backslash @@ -97,6 +98,7 @@ pandocExtensions = Set.fromList , Ext_pipe_tables , Ext_citations , Ext_raw_tex + , Ext_raw_html , Ext_tex_math_dollars , Ext_latex_macros , Ext_delimited_code_blocks @@ -119,7 +121,8 @@ pandocExtensions = Set.fromList ] strictExtensions :: Set Extension -strictExtensions = Set.empty +strictExtensions = Set.fromList + [ Ext_raw_html ] data ReaderOptions = ReaderOptions{ readerExtensions :: Set Extension -- ^ Syntax extensions diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 995c9c65a..4f13740eb 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -729,9 +729,11 @@ htmlElement :: Parser [Char] ParserState String htmlElement = strictHtmlBlock <|> liftM snd (htmlTag isBlockTag) htmlBlock :: Parser [Char] ParserState (F Blocks) -htmlBlock = return . B.rawBlock "html" <$> - ((guardEnabled Ext_markdown_in_html_blocks >> rawHtmlBlocks) - <|> htmlBlock') +htmlBlock = do + guardEnabled Ext_raw_html + res <- (guardEnabled Ext_markdown_in_html_blocks >> rawHtmlBlocks) + <|> htmlBlock' + return $ return $ B.rawBlock "html" res htmlBlock' :: Parser [Char] ParserState String htmlBlock' = try $ do @@ -1507,6 +1509,7 @@ inBrackets parser = do rawHtmlInline :: Parser [Char] ParserState (F Inlines) rawHtmlInline = do + guardEnabled Ext_raw_html mdInHtml <- option False $ guardEnabled Ext_markdown_in_html_blocks >> return True (_,result) <- if mdInHtml -- cgit v1.2.3