• Github-Readme-Stats 简明教程


    1. 更新 Readme 文件

    在你想要放置 Readme-WakaTime 的位置中放置以下注释,这将作为程序的入口

    
    
    

    2. 注册 WakaTime 账户

    访问 WakaTime 官方网站注册并登录,你需要找到对应的 IDE/编辑器 插件,目前(2023.7.3)官方插件支持以下软件

    img

    3. 在工作软件中安装 WakaTime 插件

    本篇教程以 VS Code 为例

    1. 在 VS Code 主界面按下 Ctrl+Shift+P 调出命令面板,输入Install,选择Install Extension选项并回车

    2. 之后在扩展界面中输入 WakaTime 并安装该插件
      img

    1. 安装完成之后,再次按下 Ctrl+Shift+P 调出命令面板,输入 WakaTime api 并回车
      img
    1. 在浏览器中打开WakaTime的账户设置页面 Settings | Account - WakaTime,找到 Secret API Key 选项复制API
      img
    1. 复制的 API key 粘贴到 VS Code 里,按下回车完成设置
      img
    1. 在 VS Code 中写入一些代码,观察插件是否能够正常工作。同时打开 Plugin Status - WakaTime 查看插件状态(图中的New Cli Version available是正常的,也代表插件正常工作,只是提醒你插件版本需要更新)
      img

    4. 配置 WakaTime API Key 和 Github 访问令牌

    1. 在你的个人仓库中点击 SettingsSecretes and variablesNew repository secret
      img
    1. 填入 WakaTime 的 API Key,设置完成后点击 Add Secret,设置完成后如第二张图所示
      img
      img
    1. 点击你的 Github头像 调出侧边栏
      img
    1. 点击 Settings

      img
    1. 在页面中往下滑,找到 Developer Settings
      img
    1. 在 Developer Settings 页面中找到 Persional access tokens点击 Tokens(classic)点击Generate a personal access token
      img
    1. 简单填写一下相关信息,勾选权限 repo和user,并设置令牌过期时间(建议>30天),设置好后就点击 Generate Token生成访问令牌
      img
    1. 访问令牌已经生成好了,我们把它复制下来备用
      img
    1. 之后再次回到个人主页的仓库设置,还是一样,新建一个仓库密钥
      img
    1. 填入我们刚才申请的 Github 个人访问令牌,配置好后点击 Add Secret
      img

    配置好后这样的,如图所示

    img

    5. 配置 Actions

    1. 进入个人主页仓库,切换为英文键盘并按下英文输入状态下的句号,即可唤起Github远程VS Code 工作流
      img
    1. 如果访问成功,你会看到如下界面
      img

    img

    1. 在工作目录下点击新建文件夹,建立一个 .github/workflows 结构的文件夹
      img
      img
    1. workflows 文件夹下新建一个yml文件,注意不要建错了,很多人都会建错
      img
      img
    1. 将模板写入文件里
    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 }}
    

    img

    1. 之后在 Git 中提交更改,点击 Commit&Push
      img

    如果出现该对话框,那么请点击Pull后再次Commit&Push
    img

    1. 之后到仓库的 Actions 中查看文件的上传结果,如图所示,文件成功上传到仓库中
      img
    1. 之后我们需要在 workflow中 手动运行yml文件,如图所示。点击WakaReadme点击右侧的Run workflow点击Run workflow
      img
    1. 刷新浏览器,执行完毕后会出现一个蓝色的
      img

    注:如果出现如下错误,那么你需要检查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 = 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)
    img

    至此,所有的设置我们都做完了。如果你想对这些进行扩展,那么你可以参考我翻译的文档,里面记录了各个标志字段的作用和显示与否,也欢迎专业翻译人员对文档翻译进行语言改进,非常感谢!

    翻译文档地址

    WakaTime Readme Stats-开源项目翻译 - sarexpine - 博客园 (cnblogs.com)

  • 相关阅读:
    计算机毕业设计springboot+vue+elementUI在线漫画周边销售购物交流系统
    Ajax与jQuery
    倍福tnzip,tszip,tpzip文件的打开方式
    CentOS中使用Docker部署带postgis的postgresql
    ChatGPT实战100例 - (18) 用事件风暴玩转DDD
    nodejs+vue交友推荐系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
    代码随想录二刷day60
    河工计院ACM2022寒假培训题单以及超详细题解
    会话管理Cookie和Session(源码级讲解、超详细)
    java Spring Boot RequestHeader设置请求头,当请求头中没有Authorization 直接400问题解决
  • 原文地址:https://www.cnblogs.com/sarexpine/p/17524245.html