-
Notifications
You must be signed in to change notification settings - Fork 127
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 spacer
option 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"
-
style
consists of space separated list of options:-
levels=levelList
where 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=1
include level 1 only, same aslevels=1,1
-
levels=2
include level 2 only, same aslevels=2,2
-
levels=3
include levels 2 and 3 -
levels=4
include levels 2,3 and 4 -
levels=2-4
include levels 2,3 and 4. same aslevels=4
-
levels=2-4,5
include levels 2,3,4 and 5 -
levels=1,3
include levels 1 and 3 -
levels=-3
include levels 1 to 3 -
levels=3-
include levels 3 to 6
-
-
html
generate HTML version of the TOC -
markdown
generate Markdown version of the TOC -
text
to only include the text of the heading -
formatted
to include text and inline formatting -
bullet
to use a bullet list for the TOC items -
numbered
to use a numbered list for TOC items -
numbered
to use a numbered list for TOC items -
hierarchy
hierarchical list of headings -
flat
flat list of headings -
reversed
flat reversed list of headings -
increasing
flat, alphabetically increasing by heading text -
decreasing
flat, 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.1
Markdown 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