Github-Readme-Stats 简明教程

news/2024/7/10 19:43:57 标签: github, 美化, markdown, 开源, 学习
markdown_views prism-tomorrow-night">

注:本篇文章首发于 博客园sarexpine 为保持阅读的舒适性,可以选择移步至 博客园sarexpine 阅读,日后的文章将首发于 博客园sarexpine 平台,谢谢!

1. 更新 Readme 文件

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

markdown"><!--START_SECTION:waka-->
<!--END_SECTION:waka-->

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. 在你的个人仓库中点击 Settings → \rightarrow Secretes and variables → \rightarrow New 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 → \rightarrow 点击 Tokens(classic) → \rightarrow 点击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文件,如图所示。点击 → \rightarrow WakaReadme → \rightarrow 点击右侧的Run workflow → \rightarrow 点击Run workflow
    img
  1. 刷新浏览器,执行完毕后会出现一个蓝色的 ✓ \checkmark
    img

注:如果出现如下错误,那么你需要检查README.md文件是否写入了那两行注释,错误信息如下

markdown">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文件中的合适位置写入这两行注释

markdown"><!--START_SECTION:waka-->
<!--END_SECTION:waka-->

设置完成并执行成功后,回到你的个人仓库主页,你就会发现!我去,真甜蜜炫酷啊啊啊啊啊!!!!对不起,请允许我发电一下(深情~:D)
img

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

翻译文档地址

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


http://www.niftyadmin.cn/n/1332067.html

相关文章

工作 4 年,从阿里巴巴辞职到了国企

点击上方 果汁简历 &#xff0c;选择“置顶公众号”优质文章&#xff0c;第一时间送达lz本硕985&#xff0c;毕业的时候去了杭州某互联网大厂&#xff0c;后来又跳槽去了北京某互联网大厂。简单的谈一下互联网的感受吧&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是…

插入排序(二)— 表插入排序

上篇文章已经提到直接插入排序中&#xff0c;时间消耗在了元素间的比较次数和移动这两方面。折半插入排序可以减小比较次数&#xff0c;而表插入排序则可以避免元素移动。但它需要建立数据结构&#xff0c;并且需要额外的空间&#xff08;省时一般都耗空间&#xff0c;这个在算…

网络协议,我明明学过的呀?

十个人程序员里面&#xff0c;有十个都会说自己学过网络协议&#xff0c;九个人都会说自己懂网络协议。但是面试的时候&#xff0c;问几个问题&#xff0c;能回答的可能只有两三个。不信&#xff1f;来&#xff0c;我问你几道。1、TCP协议跟UDP协议有什么区别&#xff1f;你说这…

(转)OpenGL开发库的介绍

本博客计算机图形学系列文章索引&#xff1a; 地址&#xff1a;《计算机图形学系列相关文章索引&#xff08;持续更新&#xff09;》 开发基于 OpenGL的应用程序&#xff0c;必须先了解 OpenGL的库函数。它采用 C语言风格&#xff0c;提供大量的函数来进行图形的处理和显示。 …

第一次听说因为写了一段 JavaScript 代码入狱了

背景几行代码让他增粉 100W 最后入狱&#xff0c;他就是著名 Samy 蠕虫病毒的作者 Samy Kamkar&#xff0c;通过 Samy 蠕虫成功为自己新增 100W 粉丝最后入狱。这也是一个里程碑&#xff0c;世界上第一只 “Web 蠕虫”诞生。那么我们今天要聊的就是如何从技术的角度理解他是如何…

面试前端岗位接连碰壁,企业到底需要哪种前端工程师?

提到前端工程师&#xff0c;很多人的第一反应都是&#xff1a;那个工资高&#xff0c;门槛低的职业。没错&#xff0c;也正因如此&#xff0c;越来越多的人开始投入前端岗位。可是有些人似乎不太了解前端岗位为何如此高薪&#xff0c;认为自己看了些教程&#xff0c;读了几本书…

阿里一面:如何保障消息100%投递成功、消息幂等性?

前言我们小伙伴应该都听说够消息中间件MQ&#xff0c;如&#xff1a;RabbitMQ&#xff0c;RocketMQ&#xff0c;Kafka等。引入中间件的好处可以起到抗高并发&#xff0c;削峰&#xff0c;业务解耦的作用。如上图&#xff1a;&#xff08;1&#xff09;订单服务投递消息给MQ中间…

一款号称最适合程序员的编程字体

点击上方 果汁简历 &#xff0c;选择“置顶公众号”优质文章&#xff0c;第一时间送达JetBrains在2020年的时候推出了一种新字体&#xff0c;即JetBrains Mono&#xff0c;它是专为开发人员设计的。JetBrains表示&#xff1a;在当今的大部分时间里&#xff0c;我们作为开发人员…