简介
turndown 是一款用于将 HTML 转换成 Markdown 的 JavaScript 库。在前端开发中,我们会经常遇到需要将页面内容转换为 Markdown 格式的需求,此时使用 turndown 就可以轻松地实现这个功能了。
安装
使用 npm 进行安装:
npm install turndown --save
基本用法
在 Node.js 中使用 turndown 很简单:
const TurndownService = require('turndown') const turndownService = new TurndownService() const markdown = turndownService.turndown('<h1>Hello world!</h1>') console.log(markdown) // # Hello world!
上述代码将 HTML 格式的文本转换为 Markdown,并输出了结果。
配置选项
turndown 支持多种配置选项,使得转换结果更符合我们的需求。下面是一些常见的配置选项:
headingStyle
该选项用于设置生成标题的样式,默认值为 setext
,即使用 =
和 -
作为标题的样式:
const turndownService = new TurndownService({ headingStyle: 'atx' }) const markdown = turndownService.turndown('<h1>Hello world!</h1>') console.log(markdown) // # Hello world!
上述代码修改了 headingStyle
选项为 atx
,即使用 #
来表示标题级别。
codeBlockStyle
该选项用于设置代码块的样式,默认值为 indented
,即使用缩进来表示代码块:
const turndownService = new TurndownService({ codeBlockStyle: 'fenced' }) const markdown = turndownService.turndown('<pre><code>console.log("Hello world!");</code></pre>') console.log(markdown) // ```console.log("Hello world!");```
上述代码修改了 codeBlockStyle
选项为 fenced
,即使用三个反引号来表示代码块。
keepReplacement
该选项用于设置是否保持正则表达式中的匹配项。默认情况下,turndown 会将正则表达式中的匹配项替换为指定的字符串,但是如果开启了该选项,那么 turndown 将保留这些匹配项。
const turndownService = new TurndownService({ keepReplacement: true }) const markdown = turndownService.turndown('<a href="https://www.example.com">example</a>') console.log(markdown) // <https://www.example.com>(example)
上述代码开启了 keepReplacement
选项,并将 <a>
标签转换为了 Markdown 链接。
扩展功能
turndown 还支持扩展功能,可以通过自定义规则来实现更复杂的转换。下面是一个示例:
-- -------------------- ---- ------- ----- --------------- - --- ----------------- ----------------------------------------- - ------- -------- ------ - ------ - ------------- --- ------- -- ------------------------- --- ---------- -- ------------------------ --- ---- -- ----------------------------------- --- ---- - -- ------------ -------- --------- ----- - ----- ------- - ------------ - --- - - - ------ ------------- ----------- - -- ----- -------- - -------------------------- ---- ---------- --------------- -------- -------- ---------- ---------------- -------- ----- -- --------------------- -- - --- --- -- - - - ---
上述代码扩展了 turndown 的规则,实现了将 HTML 中的任务清单转换为 Markdown 格式的功能。
结论
turndown 是一款非常实用的 JavaScript 库,可以方便地将 HTML 转换为 Markdown 格式。通过本文的介绍
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/46306