npm 包 markdown-it-highlightjs 使用教程

阅读时长 6 分钟读完

简介

markdown-it-highlightjs 是一款基于 markdown-it 和 highlight.js 的 npm 包,可以实现 markdown 语法的渲染,并对代码块进行高亮显示。本篇文章将介绍如何使用 markdown-it-highlightjs。

安装

在终端运行以下命令进行安装:

其中,markdown-it 是 markdown 解析器,markdown-it-highlightjs 是 markdown-it 的插件,highlight.js 是代码高亮工具。

使用

在代码中引入相应的模块:

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

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

以上代码中,我们首先引入了 markdown-it、highlight.js 和 markdown-it-highlightjs 三个模块。然后,我们创建了一个 markdown 实例,并在其中通过 highlight 配置了代码高亮。最后,我们引入了 markdown-it-highlightjs 插件,并将其使用在 markdown 实例中。

接下来,我们可以使用 markdown 实例的 render 方法将 markdown 字符串渲染成 HTML:

以上代码中,我们将以下 markdown 字符串渲染成了 HTML:

在渲染代码块时,markdown-it-highlightjs 会根据代码中指定的语言对代码进行高亮。在以上代码中,我们将代码块的语言指定为了 js,markdown-it-highlightjs 会根据 highlight.js 提供的规则对 js 代码进行高亮。

深入探究

markdown-it-highlightjs 的实现原理并不复杂。我们可以对以上代码进行逐行解读:

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

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

在这段代码中,我们配置了一个 highlight 回调函数,并将其传递给 markdown。当 markdown 渲染代码块时,就会调用这个函数对代码进行高亮。

函数接收两个参数:strlang。其中,str 表示代码块的代码,lang 表示代码块的语言。

在函数中,我们首先判断 lang 是否存在,并且该语言是否被 highlight.js 支持。如果语言被支持,我们就使用 highlight.js 对代码进行高亮,并返回高亮后的代码。如果语言不被支持,我们则返回空字符串,表示使用 markdown-it 外部默认的代码高亮方案。

而这段代码则是用于引入 markdown-it-highlightjs 插件,并将其使用在 markdown 实例中。插件的作用是让 markdown-it 支持代码高亮,并与 highlight.js 整合起来。简单而言,插件的实现原理就是在 markdown-it 的 highlight 回调函数中调用 highlight.js 进行代码高亮,然后将高亮后的代码插入到 HTML 中。

示例代码

为了方便大家理解 markdown-it-highlightjs 的使用方法,以下是一个示例代码:

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

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

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

运行以上代码,输出结果为:

总结

以上就是 markdown-it-highlightjs 的使用教程。在实际开发中,我们可以通过该 npm 包轻松实现 markdown 渲染和代码高亮。同时,理解 markdown-it-highlightjs 的实现原理,可以帮助我们更好地进行定制化需求和应对一些较为复杂的场景。

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

纠错
反馈