rspress-plugin-toc v0.3.0
rspress-plugin-toc
Rspress plugin that injects a table of contents into the page.
Compares to built-in Toc component
Rspress provides a built-in <Toc />
component that can be used to generate a table of contents. So, what are the situations where you would need this plugin?
- ✅ You want to be able to set the max depth of the headings that present in the Toc component → See maxDepth.
- ✅ You want to automatically insert the Toc component for every page, instead of importing it manually → See useOfficialComponent.
- ✅ You want to inject the Toc component with a toc heading(like
## Table of Contents
) → See tocHeading.
The Toc component inserted by this plugin exactly replicates the style of the rspress built-in Toc component.(Huge thanks to the rspress team for creating such a beautiful component!)
Usage
npm i rspress-plugin-toc
pnpm add rspress-plugin-toc
import * as path from 'path';
import { defineConfig } from 'rspress/config';
import toc from 'rspress-plugin-toc';
export default defineConfig({
root: path.join(__dirname, 'docs'),
plugins: [toc()],
});
Configure
useOfficialComponent
Whether to use the built-in Toc component provided by rspress.
- Type:
boolean
- Default:
false
If this option is enabled, the plugin will simply automatically inject the import { Toc } from 'rspress/theme'
import statement before each file and place the <Toc />
component in the appropriate place.
Also, options other than tocHeading
will be ignored.
import * as path from 'path';
import { defineConfig } from 'rspress/config';
import toc from 'rspress-plugin-toc';
export default defineConfig({
root: path.join(__dirname, 'docs'),
plugins: [
toc({
useOfficialComponent: true,
}),
],
});
tocHeading
The heading to display before the table of contents, set to false
to prevent the heading from being displayed.
- Type:
string | boolean
- Default:
Table of Contents
import * as path from 'path';
import { defineConfig } from 'rspress/config';
import toc from 'rspress-plugin-toc';
export default defineConfig({
root: path.join(__dirname, 'docs'),
plugins: [
toc({
tocHeading: '内容导航',
}),
],
});
maxDepth
Max heading level to display in the table of contents.
- Type:
number
- Default:
4
See mdast-util-toc#options for more information.
skip
Ignore these headings when generating the table of contents.
- Type:
string
See mdast-util-toc#options for more information.
tight
Whether to use tight list items in the table of contents.
- Type:
boolean
- Default:
true
See mdast-util-toc#options for more information.
21 days ago
21 days ago
21 days ago
21 days ago
21 days ago
22 days ago
22 days ago
21 days ago
21 days ago
21 days ago
26 days ago