commonmark-java icon indicating copy to clipboard operation
commonmark-java copied to clipboard

Table of Contents support

Open GregJohnStewart opened this issue 3 years ago • 4 comments

Would be great to have [TOC] support to automatically list out the contents of the different headers. Probably would be a good candidate for another extension

GregJohnStewart avatar Oct 15 '20 21:10 GregJohnStewart

Sorry, meant to make this a feature request, not a bug

GregJohnStewart avatar Oct 15 '20 21:10 GregJohnStewart

Hey! Yeah sounds like a useful extension. Looks like there's a couple of existing syntaxes, from here: https://alexharv074.github.io/2018/08/28/auto-generating-markdown-tables-of-contents.html

  • {:toc}
  • [[_TOC_]]
  • [toc]

And this one doesn't seem to need any syntax, so I assume if the extension is used it is inserted at the top of the document: https://commonmark.thephpleague.com/1.5/extensions/table-of-contents/

Any thoughts about what we should do? Some more research into prior art would be good.

robinst avatar Oct 16 '20 10:10 robinst

Also, it would probably need to be paired with the heading anchor extension (https://github.com/atlassian/commonmark-java#heading-anchor) to be able to link to headers.

robinst avatar Oct 16 '20 10:10 robinst

And this one doesn't seem to need any syntax, so I assume if the extension is used it is inserted at the top of the document

We support three options:

  • Place the ToC at the very top of the document - no syntax needed (default)
  • Place the ToC just prior to the first heading in the document - no syntax needed
  • Place the ToC anywhere that a given placeholder string (like [TOC]) is found; this placeholder syntax is customizable

colinodell avatar Jun 26 '21 12:06 colinodell