Broccoli-front-matter-filter 使用教程

阅读时长 5 分钟读完

前言

Broccoli-front-matter-filter 是一个可以帮助前端开发者解析 Markdown 文件中 Front Matter 元数据的 npm 包。本篇文章将介绍这个 npm 包的使用方法。

什么是 Front Matter?

在介绍 npm 包之前,我们需要了解一下 Front Matter。Front Matter 是指位于 Markdown 文件最顶部,被三条短横线(---)包裹起来的一段 YAML 元数据。例如:

在这个例子中,titleauthordate 都是 Front Matter 的元数据。

安装 Broccoli-front-matter-filter

使用 Broccoli-front-matter-filter 首先需要安装,可以使用以下命令安装:

安装完成之后,我们就可以在项目中使用了。

使用 Broccoli-front-matter-filter

引入模块

首先需要在代码里引入 Broccoli-front-matter-filter:

创建 Broccoli 构建树

接下来,我们需要为我们的项目创建一个 Broccoli 构建树。这个构建树将处理包含 Front Matter 的 Markdown 文件。

创建过滤器

接下来,我们需要创建一个 Broccoli 过滤器,帮助我们解析 Front Matter:

在这段代码中,我们传入了一个空对象作为配置项,但是这个配置项支持以下选项:

  • property: Front Matter 的元数据将添加到这个属性名下。默认为 page
  • globalData: 一个对象,包含全局的默认元数据。如果某个 Markdown 文件没有定义某个元数据,那么就会使用这里的默认值。例如:
  • markdownItOptions: 一个对象,包含给 markdown-it 的配置项。例如:
  • stringifyOptions: 一个对象,包含给 js-yaml 的配置项。例如:

输出构建树

最后,我们需要输出构建树:

完整代码

接下来,是一个完整的例子代码:

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

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

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

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

示例代码

以下是一个示例代码,可以帮助你更好的理解 Broccoli-front-matter-filter 的使用方法:

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

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

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

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

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

结论

通过本文的介绍,我们了解了什么是 Front Matter,并掌握了 Broccoli-front-matter-filter 的使用方法。这个 npm 包可以帮助我们解析 Markdown 文件中的元数据,并且将其添加到生成的 HTML 中,让我们的网页更加丰富和有意义。希望这篇文章对您学习前端技术有一定的帮助。

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

纠错
反馈