@@ -46,7 +46,8 @@ import Network.HTTP (urlEncode)
4646import Text.Pandoc.Class (PandocMonad)
4747import Text.Pandoc.Definition
4848import Text.Pandoc.Options
49−import Text.Pandoc.Shared (isTightList, linesToPara, substitute, capitalize)
49+import Text.Pandoc.Shared (isTightList, taskListItemToAscii, linesToPara,
50+ substitute, capitalize)
5051import Text.Pandoc.Templates (renderTemplate')
5152import Text.Pandoc.Walk (query, walk, walkM)
5253import Text.Pandoc.Writers.HTML (writeHtml5String, tagWithAttributes)
@@ -115,24 +116,28 @@ blockToNodes opts (Para xs) ns =
115116blockToNodes opts (LineBlock lns) ns = blockToNodes opts (linesToPara lns) ns
116117blockToNodes _ (CodeBlock (_,classes,_) xs) ns = return
117118 (node (CODE_BLOCK (T.pack (unwords classes)) (T.pack xs)) [] : ns)
118−blockToNodes opts (RawBlock fmt xs) ns
119− | fmt == Format "html" && isEnabled Ext_raw_html opts
119+blockToNodes opts (RawBlock (Format f) xs) ns
120+ | f == "html" && isEnabled Ext_raw_html opts
120121 = return (node (HTML_BLOCK (T.pack xs)) [] : ns)
121− | (fmt == Format "latex" || fmt == Format "tex") && isEnabled Ext_raw_tex opts
122+ | (f == "latex" || f == "tex") && isEnabled Ext_raw_tex opts
123+ = return (node (CUSTOM_BLOCK (T.pack xs) T.empty) [] : ns)
124+ | f == "markdown"
122125 = return (node (CUSTOM_BLOCK (T.pack xs) T.empty) [] : ns)
123126 | otherwise = return ns
124127blockToNodes opts (BlockQuote bs) ns = do
125128 nodes <- blocksToNodes opts bs
126129 return (node BLOCK_QUOTE nodes : ns)
127130blockToNodes opts (BulletList items) ns = do
128− nodes <- mapM (blocksToNodes opts) items
131+ let exts = writerExtensions opts
132+ nodes <- mapM (blocksToNodes opts . taskListItemToAscii exts) items
129133 return (node (LIST ListAttributes{
130134 listType = BULLET_LIST,
131135 listDelim = PERIOD_DELIM,
132136 listTight = isTightList items,
133137 listStart = 1 }) (map (node ITEM) nodes) : ns)
134138blockToNodes opts (OrderedList (start, _sty, delim) items) ns = do
135− nodes <- mapM (blocksToNodes opts) items
139+ let exts = writerExtensions opts
140+ nodes <- mapM (blocksToNodes opts . taskListItemToAscii exts) items
136141 return (node (LIST ListAttributes{
137142 listType = ORDERED_LIST,
138143 listDelim = case delim of
@@ -292,10 +297,12 @@ inlineToNodes opts (Image alt ils (url,'f':'i':'g':':':tit)) =
292297 inlineToNodes opts (Image alt ils (url,tit))
293298inlineToNodes opts (Image _ ils (url,tit)) =
294299 (node (IMAGE (T.pack url) (T.pack tit)) (inlinesToNodes opts ils) :)
295−inlineToNodes opts (RawInline fmt xs)
296− | fmt == Format "html" && isEnabled Ext_raw_html opts
300+inlineToNodes opts (RawInline (Format f) xs)
301+ | f == "html" && isEnabled Ext_raw_html opts
297302 = (node (HTML_INLINE (T.pack xs)) [] :)
298− | (fmt == Format "latex" || fmt == Format "tex") && isEnabled Ext_raw_tex opts
303+ | (f == "latex" || f == "tex") && isEnabled Ext_raw_tex opts
304+ = (node (CUSTOM_INLINE (T.pack xs) T.empty) [] :)
305+ | f == "markdown"
299306 = (node (CUSTOM_INLINE (T.pack xs) T.empty) [] :)
300307 | otherwise = id
301308inlineToNodes opts (Quoted qt ils) =