在开发过程中,我们常常需要在项目中记录 changelog,以追踪代码变化、记录版本升级、发布日志等信息。在这个时候,一款好用的 changelog 工具就能够起到很好的辅助作用。在本文中,我将介绍一款名为 sc-changelog-formatter
的 npm 包,它是一个简单易用的,基于 markdown 的 changelog 生成工具。让我们来一起了解一下它的使用方式。
安装使用
首先,我们需要将 sc-changelog-formatter
安装为项目依赖,可以使用 npm 命令:
npm install sc-changelog-formatter --save-dev
安装完成后,我们需要为我们的项目配置一个 changelog 格式的模板文件,通常命名为 changelogTemplate.md
。
接着,在我们的项目中新建一个脚本,在其中调用 sc-changelog-formatter
生成 changelog。在 script 标签中添加如下内容:
"scripts": { "changelog": "sc-changelog-formatter generate -i CHANGELOG.md -t changelogTemplate.md -o CHANGELOG.md" }
其中,
-i
表示 changelog 的输入文件路径,即待生成的 CHANGELOG.md 文件。-t
表示 changelog 模板文件路径,即我们自己创建的 changelogTemplate.md 文件。-o
表示 changelog 的输出文件路径,即生成的 CHANGELOG.md 文件。
运行 npm run changelog
命令,即可在项目的根目录下生成一个名为 CHANGELOG.md
的 changelog 文件。
changelog 模板
生成 changelog 需要配置一个 markdown 模板文件,下面是一个示例:
-- -------------------- ---- ------- -- --------- --- ------- ------- -- ---- ------- ---- -- ---------- -- ---- ----- --- ------ -- ----- -- ----- - ------------------------------------------------ --- ---- ------- ------- -- --------- ------------------------------------------------- -- --- ------- -- -------- -- --- -- -------------------------- ---- ------------ -- -- --- ------ -- --------------- -- -- ----------- -- -- ------------------ -- -- ------ -- -- ------ --
模板文件中,我们通过在模板语言中使用类似于 python 的 jinja2 语法,将 changelog 的数据渲染到模板上。其中,
{{ release.date|date('Y-m-d') }}
表示渲染 release 的时间,release.name
表示 release 的版本名称。{% for change in release.changes %}
表示遍历 release 中包含的每个 change 并渲染相应的内容,change.type
表示 change 类型,change.description
表示 change 描述。
示例代码
下面是一个示例 changelogTemplate.md
文件:
-- -------------------- ---- ------- -- --------- --- ------- ------- -- ---- ------- ---- -- ---------- -- ---- ----- --- ------ -- ----- -- ----- - ------------------------------------------------ --- ---- ------- ------- -- --------- ------------------------------------------------- -- --- ------- -- -------- -- --- -- -------------------------- ---- ------------ -- -- --- ------ -- --------------- -- -- ----------- -- -- ------------------ -- -- ------ -- -- ------ --
接下来,我们在 package.json
中配置一个生成 changelog 的 scripts,添加如下内容:
"scripts": { "changelog": "sc-changelog-formatter generate -i CHANGELOG.md -t changelogTemplate.md -o CHANGELOG.md" }
运行 npm run changelog
命令,即可在项目的根目录下生成一个名为 CHANGELOG.md
的 changelog 文件。文件内容的格式和上面的模板文件对应。
总结
使用 sc-changelog-formatter
工具可以方便我们生成符合规范的 changelog,帮助我们记录项目的更新与变更信息。通过本文的介绍,相信大家已经掌握了 sc-changelog-formatter
的使用方法。希望可以在大家的项目工程中得到实际的应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ea981e8991b448dc13c