简介
gray-matter 是一个用于解析 Markdown 文件的 JavaScript 库,可以很方便地从 Markdown 文件中提取出 YAML Front Matter(YFM)和正文内容。它广泛用于静态网站生成器、博客和其他类似的应用程序中。
安装
使用 npm 安装 gray-matter:
npm install gray-matter
使用
解析 Markdown 文件
const matter = require('gray-matter'); const fs = require('fs'); const fileContent = fs.readFileSync('path/to/markdown/file.md', 'utf8'); const parsed = matter(fileContent); console.log(parsed);
上述代码将会输出以下结果:
-- -------------------- ---- ------- - -------- -------- -- --- ------- -- --- -------- ------------- ----- - ------ ---- ------- ------- ---- ------- -- -------- -------- -- --- ------- -- --- -------- ----------- -------- ------ ----- ------------ --- -------------- --- ------------------- -- --- ------- -- --- -------- -------- -
解析出来的对象包含以下属性:
data
:一个包含 YFM 内容的对象。content
:解析后的正文内容。excerpt
:摘录,通常为正文内容的前几行。isEmpty
:如果文件没有 YFM,则为 true。orig
:原始内容,包括 YFM 和正文。
更新或添加 YFM 数据
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- -- - -------------- ----- ----------- - ------------------------------------------- -------- ----- ------ - -------------------- ----------------- - ---- ------- ----- ------------------ - ------------------------- -------------------------------------------- --------------------
上述代码将会把 Markdown 文件的标题修改为 New Title
。
使用 gray-matter 解析模板引擎
gray-matter 还可以与模板引擎一起使用。以下示例使用 Handlebars 模板引擎:
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- ---------- - ---------------------- ----- -- - -------------- ----- ----------- - ------------------------------------------- -------- ----- ------ - -------------------- ----- -------- - ----------------------------------- ----- ------ - ---------- ------ ----------------- --- --------------------
上述代码将会把 Markdown 文件中的 YFM 数据和正文内容,作为一个 Handlebars 模板字符串来渲染。
总结
gray-matter 是一个灵活、易用的库,可用于解析 Markdown 文件并提取其中的 YFM 数据。它还可以与其他库和工具一起使用,例如模板引擎。如果你正在构建一个静态网站生成器或博客,这个库可能非常有帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/41975