@@ -258,10 +258,13 @@ tableOfContents opts headers =
258258
259259-- | Converts an Element to a list item for a table of contents,
260260elementToListItem :: WriterOptions -> Element -> [Block]
261−elementToListItem opts (Sec lev _ _ headerText subsecs)
262− = Plain headerText :
261+elementToListItem opts (Sec lev _nums (ident,_,_) headerText subsecs)
262+ = Plain headerLink :
263263 [ BulletList (map (elementToListItem opts) subsecs) |
264264 not (null subsecs) && lev < writerTOCDepth opts ]
265+ where headerLink = if null ident
266+ then headerText
267+ else [Link headerText ('#':ident, "")]
265268elementToListItem _ (Blk _) = []
266269
267270attrsToMarkdown :: Attr -> Doc