今天,你摸鱼了吗?
期望
想要自己的 Github -> Overview 上出现好看的 Weekly development breakdown
预备
- 一点点科学知识,方便进入
Github - gist功能 - 一点点 node 知识
- 一点点 yml
- 最好已使用 WakaTime
步骤
以下步骤,均为烂翻译提供,并带有部分自定义设置,具体详情请移步至官网
准备
- 创建一个 Github-Gist ,标题与内容可随意,成功运行后会被修改,保存
Gist-url上一串key,如:https://gist.github.com/matchai/6d5f84419863089a167387da62dd7081中6d5f84419863089a167387da62dd7081 - 创建带有
gist功能Github Token并保存下来 Token - 登入
WakaTime页面,没有账号的,请自行创建 - 进入
WakaTime配置页面,勾选Display coding activity publicly与Display languages, editors, operating systems publicly - 查看
WakaTime账号 api-key,并保存好
项目设置
fork项目 - https://github.com/matchai/waka-box- 在
fork项目下Settings > Secrets,新增GH_TOKEN与WAKATIME_API_KEY,Value 分别对应上面生成的Github Token与WakaTime api-key - 打开
.github/workflows/schedule.yml文件,修改GIST_ID:自己的gist - url
建议与部分自定义
在
Github -> Overview上显示内容不全的问题,导致某大佬不爽,改了一把,后续本人一发不可收拾了
预备
- clone 下自己的项目到本地
- VScode + Run Code 插件
Gist-url-key,Github Token,WakaTime-api-key三个密钥
修改 .github/workflows/schedule.yml 线上调试,与指向自己项目
name: Update gist with WakaTime statson: schedule: - cron: "0 0 * * *" # 可修改 "*/10 * * * *" 每10分钟 action,方便调试jobs: update-gist: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Update gist uses: ZindexYG/waka-box@master # 原 matchai/waka-box,修改成自己的 env: GH_TOKEN: ${{ secrets.GH_TOKEN }} GIST_ID: 38913796d6d4f3f471baa354fdaf2aeb WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }}自定义输出格式,与调试
调试前记得 npm install
打开./index.js 文件
// line - 5 为方便调试用,不可提交入const { GIST_ID: gistId = 'Gist-url-key', GH_TOKEN: githubToken = 'Github Token', WAKATIME_API_KEY: wakatimeApiKey = 'WakaTime-api-key'} = {};/* ... */
async function updateGist(stats) { /* ... */ // line - 28 const lines = []; for (let i = 0; i < Math.min(stats.data.languages.length, 5); i++) { const data = stats.data.languages[i]; const { name, percent, text: time } = data; // 内容格式 const line = [ name.padEnd(11), time .replace(/hrs/g, "h") .replace(/mins/g, "m") .padEnd(9), generateBarChart(percent, 16), String(percent.toFixed(1)).padStart(5) + "%" ];
lines.push(line.join(" ")); } // 记得全局科学,输出内容样式 console.log(lines);}- 直接点击
run code即可调试,若不打印内容,则无内容输出 - 各项修改完成,记得
npm run build - 提交记得连带
dist/index.js一并提交
感谢
感谢阅读,基本是为了好玩,耍的一点小把戏
相关项目