-
Notifications
You must be signed in to change notification settings - Fork 131
Table of Contents Extension
Table of contents for your document can be generated for standard markdown parsers that do not support a table of contents element.
The table of contents tag was chosen to appear as an unused reference definition that will not render on plain vanilla markdown processors. Markdown Navigator automatically updates the lines after the tag when you format the element or document with Update TOC option enabled in Code Style > Markdown.
-
⚠️ Some parsers require a blank line above the first list item. For maximum compatibility enable theGenerate blank line spaceroption in parser settings.If you have any list items following the table of contents that match the list style of the table of contents, then other parsers will include them in the table of contents list. To prevent the merging of table of contents generated list with a list following the TOC add an HTML block comment after the TOC.
Enable Table of Contents in Languages & Frameworks > Markdown > Parser.

In Code Style > Markdown in the Table of Contents section you can choose among the following
default options to use unless it is given in the [TOC]:# element text.
The TOC options are available in code style settings and in the Edit Table of Contents options
intention. The latter will show a preview of your TOC element with heading from the same file
and will allow you to copy the options you select to project code style settings. It is probably
the most comfortable way to configure your TOC settings and TOC markdown elements.

- On format document or element: do not change, update, remove generated toc text.
- On save document: format or no action.
- Markdown or HTML versions.
- to use only the heading text or include inline formatting
- use bullet or number lists.
- generate a hierarchical table of contents or flat, reversed sorted.
The TOC tag has the following format: [TOC style]: # "Title"
-
styleconsists of space separated list of options:-
levels=levelListwhere level list is a comma separated list of levels or ranges. Default is to include heading levels 2 and 3. If a range is specified using-as separator between numeric values then the included range is from first numeric to last numeric inclusive. If first numeric is missing then 1 will be used in its place. If last numeric is missing then 6 will be used in its place.Examples:
-
levels=1include level 1 only, same aslevels=1,1 -
levels=2include level 2 only, same aslevels=2,2 -
levels=3include levels 2 and 3 -
levels=4include levels 2,3 and 4 -
levels=2-4include levels 2,3 and 4. same aslevels=4 -
levels=2-4,5include levels 2,3,4 and 5 -
levels=1,3include levels 1 and 3 -
levels=-3include levels 1 to 3 -
levels=3-include levels 3 to 6
-
-
htmlgenerate HTML version of the TOC -
markdowngenerate Markdown version of the TOC -
textto only include the text of the heading -
formattedto include text and inline formatting -
bulletto use a bullet list for the TOC items -
numberedto use a numbered list for TOC items -
numberedto use a numbered list for TOC items -
hierarchyhierarchical list of headings -
flatflat list of headings -
reversedflat reversed list of headings -
increasingflat, alphabetically increasing by heading text -
decreasingflat, alphabetically decreasing by heading text
-
-
"Title"specifies the text for the table of contents heading. If omitted or blank then no heading will be generated for the table of contents.#prefix in the title will specify the header level to use for the heading above the table of contents listing. If no#prefix is used then the heading level will be taken from project settings.
The lines after the [TOC]: # tag are updated to reflect the content of the document.
Assuming these headers in the document the table of contents will have the following content:
# Heading **some bold** 1
## Heading 1.1 _some italic_
### Heading 1.1.1
### Heading 1.1.2 **_some bold italic_**
# Heading 2
### Heading 2.0.1Markdown version:
[TOC levels=1-3]: # "#### Table of Contents"
#### Table of Contents
- [Heading **some bold** 1](#heading-some-bold-1)
- [Heading 1.1 _some italic_](#heading-11-some-italic)
- [Heading 1.1.1](#heading-111)
- [Heading 1.1.2 **_some bold italic_**](#heading-112--some-bold-italic)
- [Heading 2](#heading-2)
- [Heading 2.0.1](#heading-201)HTML version:
[TOC levels=1-3]: # "#### Table of Contents"
<div><h4>Table of Contents</h4>
<ul>
<li><a href="#heading-some-bold-1">Heading some bold 1</a>
<ul>
<li><a href="#heading-111">Heading 1.1.1</a></li>
<li><a href="#heading-112--some-bold-italic">Heading 1.1.2 some bold italic</a>
</ul></li>
<li><a href="#heading-2">Heading 2</a>
<ul>
<li><a href="#heading-201">Heading 2.0.1</a></li>
</ul></li>
</ul>
</div>Copyright © 2015-2019 Vladimir Schneider, Released under Apache 2.0 License