在你想要放置 Readme-WakaTime 的位置中放置以下注释,这将作为程序的入口
(相关资料图)
2. 注册 WakaTime 账户访问 WakaTime 官方网站注册并登录,你需要找到对应的 IDE/编辑器 插件,目前(2023.7.3)官方插件支持以下软件
3. 在工作软件中安装 WakaTime 插件本篇教程以 VS Code 为例
在 VS Code 主界面按下 Ctrl+Shift+P调出命令面板,输入Install,选择Install Extension选项并回车
之后在扩展界面中输入 WakaTime
并安装该插件
WakaTime api
并回车在浏览器中打开WakaTime的账户设置页面 Settings | Account - WakaTime,找到 Secret API Key
选项复制API复制的 API key 粘贴到 VS Code 里,按下回车完成设置在 VS Code 中写入一些代码,观察插件是否能够正常工作。同时打开 Plugin Status - WakaTime 查看插件状态(图中的New Cli Version available是正常的,也代表插件正常工作,只是提醒你插件版本需要更新)4. 配置 WakaTime API Key 和 Github 访问令牌在你的个人仓库中点击 Settings\(\rightarrow\)Secretes and variables\(\rightarrow\)New repository secret填入 WakaTime 的 API Key,设置完成后点击 Add Secret,设置完成后如第二张图所示点击你的 Github头像 调出侧边栏点击 Settings在页面中往下滑,找到 Developer Settings在 Developer Settings 页面中找到 Persional access tokens\(\rightarrow\)点击 Tokens(classic)\(\rightarrow\)点击Generate a personal access token简单填写一下相关信息,勾选权限 repo和user,并设置令牌过期时间(建议>30天),设置好后就点击 Generate Token生成访问令牌访问令牌已经生成好了,我们把它复制下来备用之后再次回到个人主页的仓库设置,还是一样,新建一个仓库密钥填入我们刚才申请的 Github 个人访问令牌,配置好后点击 Add Secret配置好后这样的,如图所示
5. 配置 Actions进入个人主页仓库,切换为英文键盘并按下英文输入状态下的句号,即可唤起Github远程VS Code 工作流如果访问成功,你会看到如下界面在工作目录下点击新建文件夹,建立一个.github/workflows
结构的文件夹在 workflows
文件夹下新建一个yml文件,注意不要建错了,很多人都会建错将模板写入文件里name: Waka Readmeon: schedule: # Runs at 12am IST - cron: "30 18 * * *" workflow_dispatch:jobs: update-readme: name: Update Readme with Metrics runs-on: ubuntu-latest steps: - uses: anmol098/waka-readme-stats@master with: WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }} GH_TOKEN: ${{ secrets.GH_TOKEN }}
之后在 Git 中提交更改,点击 Commit&Push之后到仓库的 Actions 中查看文件的上传结果,如图所示,文件成功上传到仓库中之后我们需要在 workflow中 手动运行yml文件,如图所示。点击\(\rightarrow\)WakaReadme\(\rightarrow\)点击右侧的Run workflow\(\rightarrow\)点击Run workflow刷新浏览器,执行完毕后会出现一个蓝色的\(\checkmark\)如果出现该对话框,那么请点击Pull后再次Commit&Push
注:如果出现如下错误,那么你需要检查README.md文件是否写入了那两行注释,错误信息如下
File "/waka-readme-stats/main.py", line 221, in [29](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:30) run(main())[30](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:31) File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run[31](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:32) return runner.run(main)[32](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:33) ^^^^^^^^^^^^^^^^[33](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:34) File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run[34](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:35) return self._loop.run_until_complete(task)[35](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:36) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[36](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:37) File "/usr/local/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete[37](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:38) return future.result()[38](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:39) ^^^^^^^^^^^^^^^[39](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:40) File "/waka-readme-stats/main.py", line 208, in main[40](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:41) stats = await get_stats()[41](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:42) ^^^^^^^^^^^^^^^^^[42](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:43) File "/waka-readme-stats/main.py", line 163, in get_stats[43](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:44) data = await DM.get_remote_json("waka_all")[44](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:45) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[45](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:46) File "/waka-readme-stats/manager_download.py", line 202, in get_remote_json[46](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:47) return await DownloadManager._get_remote_resource(resource, None)[47](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:48) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[48](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:49) File "/waka-readme-stats/manager_download.py", line 193, in _get_remote_resource[49](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:50) raise Exception(f"Query "{res.url}" failed to run by returning code of {res.status_code}: {res.json()}")[50](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:51)Exception: Query "[https://wakatime.com/api/v1/users/current/all_time_since_today?api_key=***](https://wakatime.com/api/v1/users/current/all_time_since_today?api_key=***)" failed to run by returning code of 202: {"data": {"is_up_to_date": False, "range": {"start": "2023-07-01T16:00:00Z", "start_date": "2023-07-02", "start_text": "Yesterday", "end": "2023-07-03T15:59:59Z", "end_date": "2023-07-03", "end_text": "Today", "timezone": "Asia/Shanghai"}, "timeout": 15, "percent_calculated": 0, "total_seconds": 0, "text": "0 secs", "decimal": "0.00", "digital": "0:00"}, "message": "Calculating stats for this user. Check back later."}[51](https://github.com/MagicCD/MagicCD/actions/runs/5444806464/jobs/9903159455#step:3:52)sys:1: RuntimeWarning: coroutine "AsyncClient.get" was never awaited
解决方法:在README.md文件中的合适位置写入这两行注释
设置完成并执行成功后,回到你的个人仓库主页,你就会发现!我去,真甜蜜炫酷啊啊啊啊啊!!!!对不起,请允许我发电一下(深情~:D)
至此,所有的设置我们都做完了。如果你想对这些进行扩展,那么你可以参考我翻译的文档,里面记录了各个标志字段的作用和显示与否,也欢迎专业翻译人员对文档翻译进行语言改进,非常感谢!
翻译文档地址WakaTime Readme Stats-开源项目翻译 - sarexpine - 博客园 (cnblogs.com)
标签: