iliftalot8k downloadsSimultaneously generate, update, and maintain a table of contents for your notes.
A plugin to dyamically generate and maintain a table of contents for you in real time.

There are various other ToC plugins for Obsidian, however, they come with certain limitations which this plugin aims to mitigate and improve upon which includes:
Seamless Integration & Dynamic Generation
Omit Specific Headings
<!-- omit --> to the end of the heading.HTML & Special Symbols
Heading Hierarchy Handling
Markdown Links & Wiki-Links
[Title]\(https://link)) and wiki-links ([[file-name.md]]) within headings.Settings
General Usage
Insert the insta-toc code block:
```insta-toc
```
Omit Specific Headings
If you want to omit a specific heading from the ToC, simply add <!-- omit --> to the end of the heading.
# Heading 1 <!-- omit -->
Alternatively, utilize the local settings:
---
omit: [
"Heading 1",
"Heading 2"
]
---
---
omit:
- Heading 1
- Heading 2
---
Local ToC Settings Guide
⚠️ FORMAT CAUTION ⚠️ The local settings use YAML formatting, which is a format that is very particular about perfect spacing. I'll be implementing auto-correction logic soon to account for this, but for the time being ensure that you are only indenting with 2 spaces, otherwise you will get errors.
Type Guide:
---
title:
name: [string: any]
- The title of the ToC.
level: [number: 1 | 2 | 3 | 4 | 5 | 6]
- The heading level of the title.
center: [boolean: true | false]
- Optionally center position of the title.
exclude: [string: any | RegExp: /.../]
- Exclude specific headings based on a string of characters (e.g., ",._-+=") or a regular expression (e.g., /[^a-zA-Z0-9]/).
- NOTE: Currently, this will include global excluded characters as well.
style:
listType: [string: "number" | "dash"]
- The type of list-bullet style.
omit: [string[]: any[]]
- Omit specific headings from the ToC.
levels:
min: [number: 1 | 2 | 3 | 4 | 5 | 6]
- The minimum heading level to include in the ToC.
max: [number: 1 | 2 | 3 | 4 | 5 | 6]
- The maximum heading level to include in the ToC.
---
Example 1:
---
title:
name: "Table of Contents"
level: 2
center: false
exclude: ",._-+"
style:
listType: "dash"
omit: [
"Heading 1",
"Heading 2"
]
levels:
min: 1
max: 3
---
Example 2:
---
title:
name: "Table of Contents"
level: 1
center: true
exclude: /[^a-zA-Z0-9]/
style:
listType: number
omit:
- Heading 3
- Heading 4
levels:
min: 2
max: 6
---
CMD+,.Browse button.Insta TOCCMD+SHIFT+P.>BRAT: Plugins: Add a beta plugin for testing and select the option.https://github.com/iLiftALot/insta-toc and submit.npm install insta-toc
insta-toc folder from the zip to your vault's plugins folder: /path/to/<vault>/.obsidian/plugins/.
Note: On some machines the .obsidian folder may be hidden. On MacOS you should be able to press CMD+SHIFT+. to show the folder in Finder.