summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc.hs20
-rw-r--r--src/Text/Pandoc/Options.hs14
2 files changed, 25 insertions, 9 deletions
diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs
index 91fbe0893..c942b037c 100644
--- a/src/Text/Pandoc.hs
+++ b/src/Text/Pandoc.hs
@@ -174,19 +174,20 @@ parseFormatSpec = parse formatSpec ""
'-' -> Set.delete ext
_ -> Set.insert ext
+-- auxiliary function for readers:
+markdown :: ReaderOptions -> String -> IO Pandoc
+markdown o s = do
+ let (doc, warnings) = readMarkdownWithWarnings o s
+ mapM_ warn warnings
+ return doc
+
-- | Association list of formats and readers.
readers :: [(String, ReaderOptions -> String -> IO Pandoc)]
readers = [("native" , \_ s -> return $ readNative s)
,("json" , \_ s -> return $ decodeJSON s)
- ,("markdown_strict" , \o s -> do
- let (doc, warnings) = readMarkdownWithWarnings
- o{ readerExtensions = strictExtensions } s
- mapM_ warn warnings
- return doc)
- ,("markdown" , \o s -> do
- let (doc, warnings) = readMarkdownWithWarnings o s
- mapM_ warn warnings
- return doc)
+ ,("markdown" , markdown)
+ ,("markdown_strict" , markdown)
+ ,("markdown_phpextra" , markdown)
,("rst" , \o s -> return $ readRST o s)
,("mediawiki" , \o s -> return $ readMediaWiki o s)
,("docbook" , \o s -> return $ readDocBook o s)
@@ -245,6 +246,7 @@ writers = [
getDefaultExtensions :: String -> Set Extension
getDefaultExtensions "markdown_strict" = strictExtensions
+getDefaultExtensions "markdown_phpextra" = phpMarkdownExtraExtensions
getDefaultExtensions _ = pandocExtensions
-- | Retrieve reader based on formatSpec (format+extensions).
diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs
index b62187bfe..2382bb3e8 100644
--- a/src/Text/Pandoc/Options.hs
+++ b/src/Text/Pandoc/Options.hs
@@ -31,6 +31,7 @@ options.
module Text.Pandoc.Options ( Extension(..)
, pandocExtensions
, strictExtensions
+ , phpMarkdownExtraExtensions
, ReaderOptions(..)
, HTMLMathMethod (..)
, CiteMethod (..)
@@ -134,6 +135,19 @@ pandocExtensions = Set.fromList
, Ext_implicit_header_references
]
+phpMarkdownExtraExtensions :: Set Extension
+phpMarkdownExtraExtensions = Set.fromList
+ [ Ext_footnotes
+ , Ext_pipe_tables
+ , Ext_raw_html
+ , Ext_markdown_attribute
+ , Ext_fenced_code_blocks
+ , Ext_definition_lists
+ , Ext_intraword_underscores
+ , Ext_header_attributes
+ , Ext_abbreviations
+ ]
+
strictExtensions :: Set Extension
strictExtensions = Set.fromList
[ Ext_raw_html ]