UNPKG

insta-toc

Version:

Simultaneously generate, update, and maintain a table of contents for your notes in real time.

73 lines (65 loc) 2.78 kB
import type { HeadingCache, Pos } from "obsidian"; export const defaultPosition: Pos = { start: { line: 0, col: 0, offset: 0 }, end: { line: 0, col: 0, offset: 0 } }; export const testStandardHeadings: HeadingCache[] = [ { heading: "Title 1 Level 1", level: 1, position: defaultPosition }, { heading: "Title 1 Level 2", level: 2, position: defaultPosition }, { heading: "Title 1 Level 3", level: 3, position: defaultPosition }, { heading: "Title 1 Level 4", level: 4, position: defaultPosition }, { heading: "Title 1 Level 5", level: 5, position: defaultPosition }, { heading: "Title 1 Level 6", level: 6, position: defaultPosition } ]; export const testHeadingsWithoutFirstLevel: HeadingCache[] = [ { heading: "Title 1 Level 2", level: 2, position: defaultPosition }, { heading: "Title 1 Level 3", level: 3, position: defaultPosition }, { heading: "Title 1 Level 4", level: 4, position: defaultPosition }, { heading: "Title 1 Level 5", level: 5, position: defaultPosition }, { heading: "Title 1 Level 6", level: 6, position: defaultPosition } ]; export const testHeadingsMixed: HeadingCache[] = [ { heading: "Title 1 Level 4", level: 4, position: defaultPosition }, { heading: "Title 1 Level 1", level: 1, position: defaultPosition }, { heading: "Title 1 Level 6", level: 6, position: defaultPosition }, { heading: "Title 1 Level 2", level: 2, position: defaultPosition }, { heading: "Title 2 Level 2", level: 2, position: defaultPosition }, { heading: "Title 1 Level 3", level: 3, position: defaultPosition } ]; export const testHeadingsWithSpecialChars: HeadingCache[] = [ { heading: "Title 1 `level 1` {with special chars}, **bold**, _italic_, #a-tag, ==highlighted== and ~~strikethrough~~ text", level: 1, position: defaultPosition }, { heading: "Title 1 level 2 <em style=\"color: black\">with HTML</em>", level: 2, position: defaultPosition }, { heading: "Title 1 level 3 [[wikilink1]] [[wikilink2|wikitext2]] [mdlink](https://mdurl)", level: 3, position: defaultPosition }, { heading: "Title 1 level 4 [[wikilink1]] [[wikilink2|wikitext2]] [mdlink1](https://mdurl) [[wikilink3]] [[wikilink4|wikitext3]] [mdlink2](https://mdurl)", level: 4, position: defaultPosition }, { heading: "Title 1 level 5 <!-- omit -->", level: 5, position: defaultPosition } ]; export const TEST_DEFAULT_SETTINGS = { excludedChars: [ "*", "_", "`", "==", "~~", "{", "}", "#", "\\" ] }; // Omit Specific Headings export const testOmitHeadingRegex: RegExp = /<!--\s*omit\s*-->/;