程序员自动生成工作报告!

每周都得发周报,挺烦的。就写一个自动生成周报的工具。

# 安装
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): 处理测试功能的一些错误

  • 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 的, 包括 {}.

    https://github.com/axios/axios/issues/4589

第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
posted @ 2022-04-25 19:14  程序媛李李李李蕾  阅读(435)  评论(0编辑  收藏  举报