0.0.3 • Published 2 years ago
remark-heading-numbering v0.0.3
remark-heading-numbering
A remark plugin that can number titles in Markdown documents
Install
npm install remark-heading-numbering
Usage
input example.md
:
# 标题一
## 标题二
### 标题三
## 标题四
# 标题五
## 标题六
### 标题七
## 标题八
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:
# 1 标题一
## 1.1 标题二
### 1.1.1 标题三
## 1.2 标题四
# 2 标题五
## 2.1 标题六
### 2.1.1 标题七
## 2.2 标题八
With remark-toc
example.md
:
+ # 目录
# 标题一
## 标题二
...
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:
# 1 目录
* [2 标题一](#2-标题一)
* [2.1 标题二](#21-标题二)
* [2.1.1 标题三](#211-标题三)
* [2.2 标题四](#22-标题四)
* [3 标题五](#3-标题五)
* [3.1 标题六](#31-标题六)
* [3.1.1 标题七](#311-标题七)
* [3.2 标题八](#32-标题八)
# 2 标题一
## 2.1 标题二
### 2.1.1 标题三
## 2.2 标题四
# 3 标题五
## 3.1 标题六
### 3.1.1 标题七
## 3.2 标题八
Options
separator
: The separator between numbers. Default:.