前言
在前端开发中,很多时候需要将 Markdown 文本转化为 HTML 页面,markdown-it 和 remark 都是比较好的选择。但是有些情况下,我们需要对 Markdown 中的标题进行处理,比如标题层级缺失、标题混乱等,于是这时候使用 npm 包 mdast-normalize-headings 就是一个不错的选择。本文将介绍如何使用该包进行标题规范化处理。
安装
使用 npm 安装 mdast-normalize-headings 即可:
npm install mdast-normalize-headings
使用
下面是一个简单的使用示例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - ------------------------ ----- ----------------- - ------------------------------------ ----- ------------- - ------------------------- ----- --------- - ---------------------------- ----- --------------- - -- -------------- --------- -------------- ---------- --------- -------------- ----------------------- ------------------- --------------- ------------------------- ----- ----- -- - -- ----- - ----- ---- - -------------------------- ---展开代码
可以看到,在使用 mdast-normalize-headings 时,需要先使用 unified 对 Markdown 进行处理,紧接着使用该包对树形结构 AST 中的标题进行规范化,最后再使用 remark-rehype 和 rehype-stringify 将 AST 转换为 HTML 页面。
API
normalizeHeadings(options)
该函数接收一个 options 参数,用于设置 h1To
、maxDepth
、emphasis
三个选项。
h1To
- 类型:
Number
- 默认值:
1
- 作用: 设置最高级别的标题是 h1 还是其他类型的标题。
maxDepth
- 类型:
Number
- 默认值:
6
- 作用: 设置标题的最大层级深度。
emphasis
- 类型:
String
- 默认值:
"ignore"
- 作用: 设置是否将斜体和粗体文本隐藏。
注意事项
- 在使用 mdast-normalize-headings 时,需要使用 unified 对 Markdown 进行处理。
- mdast-normalize-headings 只会规范化标题深度,不会删除额外的标题。
结束语
本文介绍了如何使用 npm 包 mdast-normalize-headings 进行 Markdown 标题规范化处理,同时对其 API 进行了详细讲解,并给出了使用示例。希望对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/58034