npm 包 react-marked-markdown 使用教程

阅读时长 5 分钟读完

markdown 是一种轻量级的标记语言,它可以让我们用简洁的文本描述所需要呈现的内容,而不用再一点一点地敲 HTML 标签。在前端开发中,我们经常使用 markdown 来写博客、文档、README 文件等。而 react-marked-markdown 就是一个方便我们在 React 项目中使用 markdown 的 npm 包。

安装

使用 npm 安装 react-marked-markdown:

使用

在需要使用 markdown 的组件中,引入 react-marked-markdown 并使用 Markdown 组件即可。

上面的代码中,我们将 markdown 字符串作为 Markdown 组件的 markdown 属性传入,即可在页面上渲染出相应的 HTML 内容。当然,如果你需要将 markdown 文件直接渲染为 HTML,也可以使用 fs 模块读取文件内容,再将内容作为 markdown 属性传入 Markdown 组件。

配置

除了默认的渲染方式,我们还可以根据需求自定义 Markdown 组件的渲染方式。react-marked-markdown 支持自定义 renderer 和 options。

Renderer

我们可以自定义 renderer,实现对不同类型的 markdown 元素的渲染方式。比如,我们可以通过自定义 renderer 来实现对代码块的高亮:

-- -------------------- ---- -------
------ ----- ---- --------
------ -------- ---- ------------
------ -------- ---- ------------------------
------ --------- ---- ---------------

----- -------- - --- ------------------
------------- - -------------- --------- -
  ----- --------------- - ------------------------------------
  ------ ----------- ----------- ----------------------------------------------
-

----- -------- - -
----------------
----- ---------- - ------- --------
------------------------
------
--

------------------------- ------------------- ------------------- --- ---------------------------------

上面的代码中,我们首先引入了 highlight.js,然后创建了一个 renderer 对象,并重新定义了 code 方法。code 方法会将代码块中的代码提取出来,使用 highlight.js 进行高亮,最后生成带有高亮效果的 HTML 代码。

Options

我们还可以通过 options 对象来进一步定制化渲染方式。下面是一些常见的 options:

  • gfm (boolean): 启用 GitHub 风格的 markdown。默认为 true
  • sanitize (boolean): 移除 HTML。默认为 false
  • smartLists (boolean): 开启智能列表。默认为 false
  • smartypants (boolean): 将引号和破折号转换为打印符号。默认为 false
-- -------------------- ---- -------
------ ----- ---- --------
------ -------- ---- ------------
------ -------- ---- ------------------------

----- ------- - -
  ---- -----
  --------- -----
  ----------- -----
  ------------ -----
--

----- -------- - -
- ------ ------

- ---- -- - -----------

-- ---- -
-- ---- -
-- ---- -

---

-------- --- -------- --- -------- ----

---

----- ---- ----------------------------- ---------
--

------------------------- ------------------- ----------------- --- ---------------------------------

上面的代码中,我们创建了一个 options 对象,并将其作为 options 属性传入 Markdown 组件。在这个例子中,我们启用了 gfm,使得 markdown 文件中的表格等 GitHub 扩展语法可以被正确解析;还启用了 sanitize,消除 markdown 文件中的 HTML 元素,避免 XSS 攻击。我们还在 markdown 文件中使用了其他一些基本的 markdown 语法,包括:

  • 标题
  • 引用
  • 列表
  • 分割线
  • 粗体和斜体
  • 代码块
  • 链接

总结

在这篇文章中,我们介绍了如何使用 npm 包 react-marked-markdown 来在 React 项目中方便地使用 markdown。我们讲述了如何安装和使用 react-marked-markdown,以及如何通过自定义 renderer 和 options 定制化渲染方式。希望这篇文章能够帮助你更加方便地使用 markdown,提高代码编写效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedbc2cb5cbfe1ea06119df

纠错
反馈