在现代 web 开发中,前端技术已经不再只是简单的 HTML 和 CSS,越来越多的开发者投入到了前端领域中。而在前端开发过程中,Markdown 已经成为了一种流行的文档格式。Markdown 的语法简洁易懂,用来写技术文档非常方便。在实际开发时,我们常常需要将 Markdown 文档转换成 HTML,这就需要用到一个非常好用的 npm 包:tm-marked。
tm-marked 是一个简洁高效的 Markdown 转 HTML 工具,使用方便,对开发速度和文档编写都有极大的帮助。接下来我们将详细介绍它的使用教程。
安装
使用 tm-marked 前,需要先安装依赖包 npm。以 Ubuntu 系统为例,安装 npm 可以通过以下命令:
$ sudo apt-get install npm
安装完成后,即可使用 npm 安装 tm-marked:
$ npm install --save tm-marked
安装完成后,我们就可以开始使用了。
基本用法
tm-marked 的基本用法非常简单,只需要引入模块,然后使用一个简单的 API 就可以将 Markdown 转换成 HTML:
const marked = require('tm-marked'); console.log(marked('# hello world')); // 输出:'<h1>hello world</h1>\n'
上述代码中,我们使用 console.log()
显示了将 Markdown 的 # hello world
转换成的 HTML 代码结果。结果显示了 <h1>
标签和对应的文本内容 hello world
。
高级选项
tm-marked 还提供了一些高级选项,可以让我们更加灵活的配置 Markdown 渲染方式。以下是一些常见的高级选项:
highlight
我们可以使用 highlight 选项让 tm-marked 支持更好的代码高亮效果。具体使用方式如下:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- --------- - ------------------------ -- -- ------------ --------- --------------------------------------- -- ---------- ------------------- ---------- -------- ------ - ------ ------------------------------------ - --- --------------------------------------------- ------------------
gfm
我们可以使用 gfm 选项让 tm-marked 支持更好的 GitHub 风格的 Markdown 渲染方式:
const marked = require('tm-marked'); // 在渲染时启用 gfm 选项 marked.setOptions({ gfm: true }); console.log(marked('*foo*\n_bar_\n**baz**\n'));
tables
我们可以使用 tables 选项让 tm-marked 支持 Markdown 表格:
-- -------------------- ---- ------- ----- ------ - --------------------- -- ------ ------ -- ------------------- ------- ---- --- -------------------- - --- - --- - - --- - --- - - --- - --- - ----
sanitize
我们可以使用 sanitize 选项让 tm-marked 渲染出来的 HTML 代码更为安全:
const marked = require('tm-marked'); // 在渲染时启用 sanitize 选项 marked.setOptions({ sanitize: true }); console.log(marked('<script>alert("Hello World!");</script>'));
结语
tm-marked 是一个非常好用的 npm 包,可以帮助我们在前端开发过程中更快、更方便地将 Markdown 转换成 HTML。通过上述教程,你已经掌握了 tm-marked 的基本用法和一些高级选项的使用方式。相信在实际工作中,你可以灵活应用它们,提高自己的开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557fb81e8991b448d514f