A remark plugin to add numbering to headings
npm install remark-heading-numbering
A remark plugin that can number titles in Markdown documents
``bash`
npm install remark-heading-numbering
input example.md:
`md`标题一
标题二
$3
标题四
标题五
标题六
$3
标题八
`
js
import fs from 'node:fs'
import { remark } from 'remark'
import remarkHeadingNumbering from 'remark-heading-numbering'
remark()
.use(remarkHeadingNumbering)
.process(fs.readFileSync('example.md'))
.then((file) => {
console.log(file.toString())
})
`
output:
`md`1 标题一
1.1 标题二
$3
1.2 标题四
2 标题五
2.1 标题六
$3
2.2 标题八
example.md:
`diff`
+ # 目录
# 标题一
## 标题二
...
`diff
import fs from 'node:fs'
import { remark } from 'remark'
import remarkHeadingNumbering from 'remark-heading-numbering'
import remarkToc from 'remark-toc'
remark()
.use(remarkHeadingNumbering)
+ .use(remarkToc, {
+ // before
+ // heading: 'toc|table[ -]of[ -]contents?|目录',
+ // after
+ heading: 'toc|table[ -]of[ -]contents?|目录'.split('|').map(i => (\\d+(\\.\\d+)( ))?${i}).join('|'),`
+ })
.process(fs.readFileSync('example.md'))
.then((file) => {
console.log(file.toString())
})
output:
`md`1 目录
* 2 标题一
* 2.1 标题二
* 2.1.1 标题三
* 2.2 标题四
* 3 标题五
* 3.1 标题六
* 3.1.1 标题七
* 3.2 标题八2 标题一
2.1 标题二
$3
2.2 标题四
3 标题五
3.1 标题六
$3
3.2 标题八
- separator: The separator between numbers. Default: .`