Git 生成更新日志
October 30, 2024 by
根据 Git 提交记录生成更新日志
主流程构思
- 数据来源
- 首先是使用
git
工具, 所以该步骤不能前端实现, 需要借助build
工具 - 这里使用
vocs
框架是基于vite
的, 可以使用对应的钩子来实现 - 基于
nodejs
的git
工具, 调研后决定使用simple-git
库
- 首先是使用
- 展示效果
- 主维度应为
日期
, 次维度应为文件
- 依据
git log
对于单个文件的提交记录, 来收集展示数据 - 使用
Timeline
组件展示
- 主维度应为
- 后续思考
- 是否采取增量更新的方式, 减少每次构建的时间
- 可以使用, 但之前基于单文件的
git log
需要加上last-commit
, 可以等待文档数量级提升后进行优化
- 可以使用, 但之前基于单文件的
- 可以更换维度, 以
文件
为主维度, 制作目录结构- 可展示文件修改记录
- 可展示文件缩略图
- 只在 dev 模式下展示, 可能会丢失最新的修改 (除非先提交, 然后再 dev 后提交一次)
- 是否采取增量更新的方式, 减少每次构建的时间
示例及代码
vocs.config.ts
export default {
// ...
vite: {
// ...
plugins: [
// ...
{
name: 'ccforeverd:git-history',
async configResolved(resolvedConfig) {
// 只在 dev 环境执行, 然后提交上去, 不在 github action 里执行, 因为里面只有一次提交
if (resolvedConfig.mode === 'development') {
logger.info('start plugin git-history');
await gitHistory(
['./docs/pages/**/*.mdx'],
'./docs/generated/gitHistory.json',
sidebar,
);
logger.info('end plugin git-history');
}
},
},
]
}
}
2025-04-16
2025-04-05
2024-11-21
2024-11-19
2024-11-16
2024-11-15
2024-11-04
2024-10-31
2024-10-25
2024-10-23
2024-10-16
2024-09-28
2024-09-03
2024-08-26
2024-08-15
2024-08-14
2024-08-09
2024-08-08
2024-08-03
2024-07-26