0.0.3 • Published 10 months ago

remark-heading-numbering v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

remark-heading-numbering

NPM version

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: .

Sponsors

License

MIT License © 2022 Byron

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago

0.0.0

10 months ago