Robotskirt 是一个 Node.js 实现的 Markdown 渲染器,它支持扩展语法和自定义渲染器。在前端开发中,我们经常需要将 Markdown 格式的文本转化为 HTML 或其他格式,这时候使用 robotskirt 可以简单、快速地完成这个任务。
安装和配置
你可以通过 npm 来安装 robotskirt
--- ------- ----------
之后就可以在 Node.js 中使用它了:
----- -------- - --------------------- ----- ---- - ------------------ ----- -------- ----------------- -- ------------ -----------
如果你需要自定义一些渲染规则,可以传递一个 renderer
对象给 markdown.Renderer
函数:
----- -------- - --- ------------------- ---------------- - -------- ------ ------ - ----- ----------- - ------------------------------------- ---- ------ -------------- --------------------- -------------- ----------------------- ----- --------------------------------------------------- - ----- ---- - ------------------ ----- -------- - -------- -- ----------------- -- --------- ------------------ -------------- ------------------------- ------------------------------------ -----------
在上面的示例中,我们重写了 heading
方法,将标题渲染成一个带有锚点的 HTML 标签。
扩展语法
Robotskirt 支持扩展语法,可以通过引入不同的扩展来解析特定的语法。以下是几个常用的扩展:
GFM 扩展
通过 markdown.Renderer.getExtensions()
方法可以查看已经加载的扩展列表,其中包括 Github Flavored Markdown (GFM) 扩展,它支持任务列表、表格、删除线等语法。
----- --- - -------------------------------------- ---------------- -- ------------- --------------------- ----------- ---------------- -----------
要使用 GFM 扩展,只需要在渲染时传入 gfm
参数即可:
----- ---- - ------------------ --- ---- ---- - - ---- ---- - - - --------------- - - - --- - ---- ---- -- ----------------- -- ------ ------------------------------ ----------------------------- --------------- ----------- ----------- ---- --------- ----------------------------- --------------- ------------ ---- -------------------------------------------------------------------------------------
Math 扩展
如果你需要在 Markdown 中插入公式,可以使用 Math 扩展。首先需要安装 katex
包:
--- ------- -----
然后在渲染时传入 math
参数:
----- ---- - ---------------------------------------- -------- -- - -------------- - ----- ---- -- ----------------- -- ----- ------------------- --------------------------- -------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------ ------------------------ ------------ ----------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------