Markdown 是一种轻量级文本标记语言,已经成为许多领域的标准。GitHub Flavored Markdown (GFM) 扩展了标准的 Markdown 语法,为写作和发布文档提供了更多的功能和便利。gfm-json 是一个 npm 包,它能够将 Markdown 文本转换为 GFM JSON 格式,并提供方便的 API 调用方法。本文将介绍如何使用 gfm-json 在前端项目中实现 Markdown 到 GFM JSON 转换,以及如何处理转换后的数据。
安装 gfm-json
在开始前,你需要先在你的项目中安装 gfm-json。您可以通过 npm 安装 gfm-json:
npm install gfm-json
使用 gfm-json 转换 Markdown 到 GFM JSON
下面是一个简单的例子,演示如何使用 gfm-json 将 Markdown 文本转换为 GFM JSON 格式:
const gfmJson = require('gfm-json'); // 转换 Markdown 到 GFM JSON const markdown = '## Hello world!'; const json = gfmJson(markdown); console.log(json);
如果你喜欢异步,你也可以使用一个异步函数:
-- -------------------- ---- ------- ----- ------- - -------------------- ----- -------- ------------------------------- - ----- ---- - ----- --- ----------------- ------- -- - ----------------- ------- ----- -- - -- ------- -------------- -------------- --- --- ------ ----- - -- -- -------- - --- ---- ----- -------- - --- ----- -------- ----- ---- - ----- -------------------------------- ------------------
处理转换后的 GFM JSON
gfm-json 生成的 GFM JSON 包含了 Markdown 文本的各种信息,如标题, 段落, 列表等等。这一节我们将演示如何从 GFM JSON 中提取数据。
标题
GFM JSON 中的标题信息由 type
和 depth
字段组成。例如,下面的 Markdown:
# 标题 ## 副标题
将被转换成下面的 GFM JSON:
-- -------------------- ---- ------- - - ------- ---------- -------- -- ----- ----- ----------- - - ------- ------- -------- ---- - - -- - ------- ---------- -------- -- ----- ------ ----------- - - ------- ------- -------- ----- - - - -
我们可以通过遍历 JSON 的每一项,提取出每条标题的信息:
-- -------------------- ---- ------- ----- -------- - --- ------------------- -- - -- ---------- --- ---------- - --------------- ----- ----------------------- ------ ---------- --- - --- ---------------------- -- -- ----- ----- ------ - -- - ----- ------ ------ - --
段落
如果你想提取 Markdown 中的所有段落,你可以筛选出 GFM JSON 中 type
为 'paragraph'
的项:
-- -------------------- ---- ------- ----- ---------- - --- ------------------- -- - -- ---------- --- ------------ - ---------------------------------------- - --- ------------------------ -- -----------
列表
GFM JSON 中的列表项组成了一个树形结构,对于每一层都有一个 nesting 属性,表示所在层级。我们可以利用递归将所有的列表项提取出来。
-- -------------------- ---- ------- ----- --------- - --- -------- -------------- -------- - -------------------- -- - -- ----------- --- ----------- - ---------------- ----- ------------------------ ------- --- -- ------------------- - --------------------------------- ------- - --- - - --- - ------------------- -- - -- ---------- --- ------- - ----------------------- --- - --- ----------------------- -- -- ----- -------- -------- - -- - ----- --------- -------- - --
总结
在前端开发中,我们需要在不同的场景中使用 Markdown。gfm-json 是一个非常实用的 npm 包,它使得我们可以在 JavaScript 中轻松地将 Markdown 文本转换为 GFM JSON,然后对 JSON 进行各种处理。通过本文的指导,相信你已经掌握了如何使用 gfm-json 进行 Markdown 到 GFM JSON 的转换,并且能够提取数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600576ba81e8991b448eaaf4