From ea3eaaa55356d2f799c1ab5a96f9658e8ceaca97 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 5 Jan 2013 12:31:15 -0800 Subject: Implemented --toc-depth for markdown writer. --- src/Text/Pandoc/Writers/Markdown.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 9bc7cab6a..234a9cc76 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -195,18 +195,18 @@ escapeString = escapeStringUsing markdownEscapes tableOfContents :: WriterOptions -> [Block] -> Doc tableOfContents opts headers = let opts' = opts { writerIgnoreNotes = True } - contents = BulletList $ map elementToListItem $ hierarchicalize headers + contents = BulletList $ map (elementToListItem opts) $ hierarchicalize headers in evalState (blockToMarkdown opts' contents) WriterState{ stNotes = [] , stRefs = [] , stPlain = False } -- | Converts an Element to a list item for a table of contents, -elementToListItem :: Element -> [Block] -elementToListItem (Blk _) = [] -elementToListItem (Sec _ _ _ headerText subsecs) = [Plain headerText] ++ - if null subsecs - then [] - else [BulletList $ map elementToListItem subsecs] +elementToListItem :: WriterOptions -> Element -> [Block] +elementToListItem opts (Sec lev _ _ headerText subsecs) + = Plain headerText : + [ BulletList (map (elementToListItem opts) subsecs) | + not (null subsecs) && lev < writerTOCDepth opts ] +elementToListItem _ (Blk _) = [] attrsToMarkdown :: Attr -> Doc attrsToMarkdown attribs = braces $ hsep [attribId, attribClasses, attribKeys] -- cgit v1.2.3