中文版翻译基于 version 7.0.1 为 markdown-it 设计的标题锚点生成.
中文 | English
const md = require('markdown-it')()
.use(require('markdown-it-anchor'), opts)
这里是demo demo as JSFiddle.
其中 opts
对象可能包含:
名称 | 描述 | 默认值 |
---|---|---|
level |
若传入数字,代表最少包含的渲染层级;若传入一个数组,则会渲染数组中选定的层级 | 1 |
slugify |
生成有效url的自定义函数 function. | 详见 index.js |
uniqueSlugStartIndex |
使重复锚点变得唯一的新增起始索引 | 1 |
permalink |
是否在标题旁加入永久链接 | false |
renderPermalink |
自定义永久链接渲染函数 | 详见 index.js |
permalinkClass |
生成永久链接的 class 名称. | header-anchor |
permalinkSpace |
标题和锚点之间放置空格 | true |
permalinkSymbol |
永久链接的符号. | ¶ |
permalinkBefore |
将永久链接放在标题的前面. | false |
permalinkHref |
自定义渲染 href 函数. |
详见 index.js |
permalinkAttrs |
自定义标题渲染函数. | 详见 index.js |
callback |
渲染后的 callback 函数. | undefined |
renderPermalink
功能函数需要一个slug,格式和上面的格式一样,其余的参数和通常 markdown-it 的渲染函数的参数一致。
所有比 level
大的标题都会渲染出一个被 slugify 函数处理后的id
属性 。
level
可能是一个数组代表渲染的标题层级,比如[2, 3]
是要只要渲染层级2和层级3 。
如果开启 permalink
, 将会在标题旁添加链接符号 ¶
你可能也想使用链接符号 link symbol 作为permalinkSymbol
, 或者你喜欢的网站的符号.
callback
是一个将在渲染token
and info
结束后被调用的函数。 info
对象拥有title
and slug
属性在 token 块中,slug
将会用在identifier 中。
自从 v5.0.0
版本, markdown-it-anchor
抛弃 string
为了保持他的核心功能的纯粹和安全。
然而,寻求向后兼容的老用户可能需要旧的slugify:
$ npm i -S string
const string = require('string')
const legacySlugify = s => string(s).slugify().toString()
const md = require('markdown-it')()
const anchor = require('markdown-it-anchor', {
slugify: legacySlugify
})
Unicode 是被默认为支持的.
但是, 如果你想要一个更加漂亮的固定链接,比如链接中不存在 %xx,推荐你使用uslug
:
$ npm i -S uslug
const uslug = require('uslug')
const uslugify = s => uslug(s)
const md = require('markdown-it')()
const anchor = require('markdown-it-anchor', {
slugify: uslugify
})
找寻自动生成目录的方法? 推荐使用markdown-it-toc-done-right 它是这个插件好伴侣
请看 example.html
.