1. 更新 Readme 檔案
在你想要放置 Readme-WakaTime 的位置中放置以下注釋,這將作為程式的入口
<!--START_SECTION:waka-->
<!--END_SECTION:waka-->
2. 注冊 WakaTime 賬戶
訪問 WakaTime 官方網站注冊并登錄,你需要找到對應的 IDE/編輯器 插件,目前(2023.7.3)官方插件支持以下軟體

3. 在作業軟體中安裝 WakaTime 插件
本篇教程以 VS Code 為例
-
在 VS Code 主界面按下 Ctrl+Shift+P 調出命令面板,輸入Install,選擇Install Extension選項并回車

-
之后在擴展界面中輸入
WakaTime并安裝該插件

- 安裝完成之后,再次按下 Ctrl+Shift+P 調出命令面板,輸入
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 Readme
on:
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

如果出現該對話框,那么請點擊Pull后再次Commit&Push
- 之后到倉庫的 Actions 中查看檔案的上傳結果,如圖所示,檔案成功上傳到倉庫中

- 之后我們需要在 workflow中 手動運行yml檔案,如圖所示,點擊\(\rightarrow\)WakaReadme\(\rightarrow\)點擊右側的Run workflow\(\rightarrow\)點擊Run workflow

- 重繪瀏覽器,執行完畢后會出現一個藍色的\(\checkmark\)

注:如果出現如下錯誤,那么你需要檢查README.md檔案是否寫入了那兩行注釋,錯誤資訊如下
File "/waka-readme-stats/main.py", line 221, in <module>
[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 = https://www.cnblogs.com/sarexpine/archive/2023/07/03/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檔案中的合適位置寫入這兩行注釋
<!--START_SECTION:waka-->
<!--END_SECTION:waka-->
設定完成并執行成功后,回到你的個人倉庫主頁,你就會發現!我去,真甜蜜炫酷啊啊啊啊啊!!!!對不起,請允許我發電一下(深情~:D)

至此,所有的設定我們都做完了,如果你想對這些進行擴展,那么你可以參考我翻譯的檔案,里面記錄了各個標志欄位的作用和顯示與否,也歡迎專業翻譯人員對檔案翻譯進行語言改進,非常感謝!
翻譯檔案地址
WakaTime Readme Stats-開源專案翻譯 - sarexpine - 博客園 (cnblogs.com)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556544.html
標籤:其他
上一篇:K8S | 容器和Pod組件
下一篇:返回列表

