简介
Metalsmith 是一个基于 Node.js 的静态网站生成器,它使用 chainable 和 modifiable 插件系统,利用事先定义好的 meta-data 组成你需要的元素,再使用模板引擎生成 HTML。Metalsmith 的优点是其简单易用的 API 和灵活的插件系统,在实现各种功能上非常方便。
Metalsmith-git-builder 是基于 Metalsmith 实现的静态网站生成器,其特点是能在构建时从 Git 中获取指定 commit 的内容并生成网站文档。它使用 nodegit
获取指定 commit 的 Git 仓库的内容,并使用 Metalsmith 的插件系统构建生成 HTML。
在项目开发过程中,如果我们希望在生成文档时,能够使用 Git 提交过的内容,而非开发中的代码,那么 metalsmith-git-builder 是一个不错的选择。
安装
在使用 metalsmith-git-builder 之前,我们需要先安装 Metalsmith。
--- ------- ----------
安装 metalsmith-git-builder:
--- ------- ----------------------
使用
metalsmith-git-builder 的基本用法是,在 Metalsmith 的 build 中使用 metalsmith-git-builder 插件,并指定 repository
和 commit
参数,以获取指定 commit 的 Git 仓库的内容:
----- ---------- - ---------------------- ----- ---------- - ---------------------------------- --------------------- -------------- --------------------- ----------------- ----------- --------------------------------------- ------- -------- --- -------------------- - -- ----- ----- ---- ---
在设置了 repository
和 commit
后,metalsmith-git-builder 会将 Git 仓库 clone 到临时目录,并使用指定的 commit 获取代码。接着,metalsmith-git-builder 将使用指定的 plugin 对代码进行构建,生成 HTML 文档。
注意,由于 metalsmith-git-builder 依赖 nodegit,因此,需要已安装 Git 环境,并处理好相关的环境变量。
插件
metalsmith-git-builder 自带了多个处理 Git 仓库代码的插件,包括将代码转为 HTML 或 Markdown、复制图片、添加版本信息等功能。
下面以 convert 插件为例,演示如何将代码转为 HTML。
----- ---------- - ---------------------- ----- ---------- - ---------------------------------- ----- -------- - ------------------------------- ----- ------- - ------------------------------ --------------------- -------------- --------------------- ----------------- ----------- --------------------------------------- ------- --------- -------- - - ------- ------------------------------ -------- ------ - - --- ---------------- --------------- -------------------- - -- ----- ----- ---- ---
在此代码中,我们使用了 metalsmith-convert 插件,将代码转为 HTML。注意,插件需要设置 convert
参数,定义转换类型。
示例
下面记录了一份完整的示例代码,使用了 Git 仓库中的 markdown 文件生成文档,并使用 ejs 模板进行渲染。
----- ---------- - ---------------------- ----- ---------- - ---------------------------------- ----- -------- - ------------------------------- ----- ------- - ------------------------------ --------------------- -------------- --------------------- ----------------- ----------- --------------------------------------- ------- --------- -------- - - ------- ------------------------------ -------- ------ - - --- ---------------- -------------- ------- ------ ---------- --------- --- -------------------- - -- ----- ----- ---- ---
总结
本文主要介绍了 npm 包 metalsmith-git-builder 的使用方法,在实际开发中,我们可以结合 Metalsmith 的插件系统,对 Git 中的代码进行处理,获取版本信息、文档生成等功能,可以大大减轻文档维护的压力。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066f3f1d8e776d08040bb1