Permalink
Browse files

Implemented --toc-depth for markdown writer.

  • Loading branch information...
1 parent 6666277 commit ea3eaaa55356d2f799c1ab5a96f9658e8ceaca97 John MacFarlane committed Jan 5, 2013
Showing with 7 additions and 7 deletions.
  1. +7 −7 src/Text/Pandoc/Writers/Markdown.hs
View
14 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]

0 comments on commit ea3eaaa

Please sign in to comment.