每周都得发周报,挺烦的。就写一个自动生成周报的工具。
# 安装
npm i -g wll8/gitday
# 例: 以 月/周/天 的形式导出报告
gitday --x-template=month-week-day
# 查看使用说明
gitday --help
先来一个功能说明:
读取 git log 的数据生成类似月报/周报/日报的 markdown 文档.
参数:
--help 显示使用方法
--author=[作者名称] 默认为 git config user.name 的值
--after=[时间范围] 默认为 --x-template 的最大标志日期, 例如 month-week 则自动取最近一个月. 支持 git 的参数形式
--x-template=[格式模板] 默认 week, 支持 month/week/day 或其组合
示例:
gitday --x-template=month
## 2021年01月
- commitMsg
- commitMsg
gitday --x-template=month-week
## 2021年01月
### 第1周
- commitMsg
- commitMsg
gitday --x-template=month-week-day
## 2021年01月
### 第1周
#### 21日 星期1
- commitMsg
- commitMsg
gitday --x-template=week
## 2021年01月 第1周
- commitMsg
- commitMsg
gitday --x-template=week-day
## 2021年01月 第1周
### 21日 星期1
- commitMsg
- commitMsg
gitday --x-template=day
## 2021年01月24日
- commitMsg
- commitMsg
再给给大家看看来一个自动生成的月报摘录:
2022年04月
第4周
21日 星期四
- test: 并发测试
- build: 添加发布命令
20日 星期三
- chore: 使用依赖锁文件
-
fix(test): 处理测试功能的一些错误
- MOCKM_REGISTRY 环境变量用于保证稳定的自动安装依赖
- —require 用于处理并行测试时不能正确显示 html
-
feat: 简化 —config 参数输出的内容
更改 full.mm.config.js 为 simple.mm.config.js, 让配置看起来更容易使用, 不那么吓人和混乱.
- test: 并行运行测试
18日 星期一
- refactor: 支持传入完善的配置, 拆分测试用例
- doc: 完善更新日志
第3周
15日 星期五
-
feat: 支持从 config.api 拦截 config.db 的接口
config = { api: { '/books/:id' (req, res, next) { // 在所有自定义 api 之前添加中间件 req.body.a = 1 // 修改用户传入的数据 next() res.mm.resHandleJsonApi = (arg) => { arg.res.locals.data // json-server 原始的数据 arg.data // 经预处理的数据, 例如将分页统计放置于响应体中 arg.resHandleJsonApi // 是全局 config.resHandleJsonApi 的引用, 若无需处理则直接 return arg.data arg.data.a = 2 // 修改响应, 不会存储到 db.json return arg.resHandleJsonApi(arg) } }, }, db: { book: [ { name: `js`, }, ] }, }
12日 星期二
-
fix: config.api 是 config.proxy 的子路径并携带参数时应能覆盖
例如以下配置不应导致
/api/test?a=1
不能使用config = { proxy: { '/api/': `http://172.16.203.81/api/`, }, api: { '/api/test': {msg: 123}, }, }
11日 星期一
- index on dev: b356560 doc: 添加 todo
- doc: 添加 todo
-
feat: 重放时特殊处理 get 携带 body 的情况
在浏览器端 get 请求是不能携带 body 的, 包括
{}
.
第2周
08日 星期五
- refactor: 使用 undefined 更直观的表述
没有做任何事
-
fix: 处理边界情况
confg.proxy['/']
可能为对象, 当时应取对象中的 target - refactor: 去除冗余的逻辑
- feat: 支持禁用请求记录
第1周
01日 星期五
- doc: update log
- feat: 未启动进程守护时, 遇到错误连同父进程退出
- feat: 在错误日志中保存退出码
-
fix: 重载时 global.INJECTION_REQUEST 中的值不应丢失
- server 应该把值保存在文件中, 而不是变量中
- client 应在请求时获取 INJECTION_REQUEST, 而不是刷新页面才获取
2022年03月
第5周
31日 星期四
- fix: 删除 apiWeb 中的空对象, 避免手动编辑 apiWeb 时出现重复的 key
28日 星期一
- doc: 添加 todo