A markdown-it plugin to get markdown headers.
- Extracts all headers info into markdown-it
env.headers
.
npm i @mdit-vue/plugin-headers
import { headersPlugin } from '@mdit-vue/plugin-headers';
import type { MarkdownItEnv } from '@mdit-vue/types';
import MarkdownIt from 'markdown-it';
const md = MarkdownIt({ html: true }).use(headersPlugin, {
// options
});
const env: MarkdownItEnv = {};
const rendered = md.render(
`\
# h1
## h2
### h3
`,
env,
);
console.log(env.headers);
-
Type:
(str: string) => string
-
Details:
A function for formatting header title.
-
Type:
number[]
-
Default:
[2, 3]
-
Details:
Heading level that going to be extracted.
When using this plugin with markdown-it-anchor (recommended), this option should be a subset of markdown-it-anchor's
level
option to ensure the header slugs are existed.
-
Type:
boolean
-
Default:
false
-
Details:
Should allow headers inside nested blocks or not.
If set to
true
, headers inside blockquote, list, etc. would also be extracted.
-
Type:
(str: string) => string
-
Default:
slugify
from@mdit-vue/shared
-
Details:
A custom slugification function.
The default slugify function comes from @mdit-vue/shared package.
When using this plugin with markdown-it-anchor (recommended), this option will be ignored because the
id
of the headings have already been determined by markdown-it-anchor'sslugify
option.