介绍
remark-collapse
是一个基于 remark
和 unified
的插件,用于折叠 Markdown 文档中的部分内容。它可以通过添加标记或设置参数来实现不同类型的折叠效果,比如只显示部分内容、默认展开或收起、展开全部等。该插件支持在浏览器和 Node.js 环境下使用,方便快捷。
安装
可以通过 npm 安装 remark-collapse
:
npm install remark-collapse
也可以通过 yarn 安装:
yarn add remark-collapse
使用
在浏览器中使用
可以使用 remark-collapse
的 UMD 构建文件,在 HTML 文件中引入即可。例如:
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- --------------- -- ------------- -------- ------------ ------- ------ ---- ------------------- ------- ------------------------------------------------------------------ -------- --- --------- - ------------------------------------------- --- ------ - ------------------------ -------------------------------- -------------------- -- ---- ------------------------- -------------------------------------------- - ---------------- --------- ------- -------
上述代码中,首先引入了 remark-collapse
的 UMD 构建文件,然后创建了一个 remark
的实例,并使用了 remark-collapse
插件。在最后的 JavaScript 代码中,使用 processor.processSync
方法将 Markdown 文本转换为 HTML 输出,并将其插入到 id
为 content
的元素中。
在 Node.js 中使用
可以通过以下方式在 Node.js 环境下使用 remark-collapse
:
const unified = require('unified'); const markdown = require('remark-parse'); const collapse = require('remark-collapse'); const processor = unified().use(markdown).use(collapse); const result = processor.processSync('# Hello\n\n<details><summary>Click me</summary>\n\nThis is some content.\n\n</details>'); console.log(String(result));
上述代码中,首先引入了 unified
、remark-parse
和 remark-collapse
模块,然后创建了一个 unified
的实例,并使用了 remark-parse
和 remark-collapse
插件。最后,使用 processor.processSync
方法将 Markdown 文本转换为 HTML 输出,并输出到控制台。
参数
remark-collapse
插件支持以下参数:
open
:默认是否展开折叠内容,默认为false
。maxDepth
:最大递归深度,默认为3
。summary
:自定义折叠摘要的函数,接收一个node
对象作为参数,返回一个字符串。
这些参数可以通过调用 use
方法时传入对象的方式进行设置。例如:
const processor = unified() .use(markdown) .use(collapse, { open: true, maxDepth: 5, summary: (node) => node.value });
上述代码中,创建了一个 remark-collapse
实例,并设置了默认打开折叠内容、最大递归深度为 5
、折叠摘要为节点文本的参数。
示例
下面是一个使用 remark-collapse
插件的示例:
-- -------------------- ---- ------- - -------- ---- -- ------- ----------------------- ------------ ---- -- ---- -------- ---------- -- ------- -------- ------------------- ------------ ---- -- ---- -------- ---------- -- ---- ----------------------- ------------ ---- -- ---- -------- ----------------------- ------------ ---- -- ---- ------ -------- ---------- ----------
通过调用 processor.processSync
方法将上述示例转换为 HTML 输出后,可以得到以下结果:
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/45636