当你尝试去创建一个与你Github用户名相同的仓库时,会发现这是Github为你预留的特殊仓库,用来作为你的Github Profile,这个仓库就相当于一个可以显示在你Github个人页的README文件。

本文会帮助你美化你的Github Profile,让它展示更多有用的信息。

例如添加一个首页被访问次数的计数器,一个Github被Star与Commit的概览信息,以及各种技能标签,设备标签等。还可以利用wakatime显示你最近编码各类语言的使用时长,以及你最近Steam游戏游玩排行榜。

首页计数器

这个很容易实现,只需要一个统计资源请求的后台服务即可,有很多第三方的服务可以使用,并且我也自己搭建了一个,感兴趣的可以使用。

![](https://visitor-badge.glitch.me/badge?page_id=CasterWx.readme)

page_id后面替换为自己的Github用户名

![](http://antzuhl.cn:4000/get/@antzuhl.readme)

@后面替换为自己的Github用户名

Github信息概览

这个也是使用现有的服务,根据url来配置卡片信息。

![info](https://github-readme-stats.vercel.app/api?username=CasterWx&show_icons=true&count_private=true&hide=prs&theme=default_repocard)

url中username为你的Github用户名,theme为主题配置,支持的主题样式丰富。

dark, radical, merko, gruvbox, tokyonight, onedark, cobalt, synthwave, highcontrast, dracula

技能&设备卡片

这是Github很多开源仓库都会使用的东西,其本质也是第三方服务后台动态生成的图片,类似下图

simpleicons提供了很多好看的icon,几乎可以找到所以的程序语言,设备,IDE,开源产品的icon。

我的配置

# linux卡片
[![](https://img.shields.io/badge/OS-Arch%20Linux-33aadd?style=flat-square&logo=arch-linux&logoColor=ffffff)](https://www.archlinux.org/)
# mac卡片
[![](https://img.shields.io/badge/macOS-Hackintosh-292e33?style=flat-square&logo=apple&logoColor=ffffff)](https://www.tonymacx86.com/) # 手机设备
[![](https://img.shields.io/badge/Honor-V30-f5010c?style=flat-square&logo=huawei&logoColor=ffffff)](https://www.apple.com/) # 程序语言
[![](https://img.shields.io/badge/-Java-007396?style=flat-square&logo=java&logoColor=ffffff)](https://reactjs.org/) # 游戏
![](https://img.shields.io/badge/-Nintendo%20Switch-e60012?style=flat-square&logo=nintendo%20switch&logoColor=ffffff)
[![](https://img.shields.io/badge/Steam-171a21?style=flat-square&logo=steam&logoColor=ffffff)](https://steamcommunity.com/id/antzuhl)

编程&游戏时长统计

主要利用了Github Action的机制,触发定时任务去Wakatime平台拉取数据进行统计,而Wakatime平台提供了JetBrains全家桶、VsCode、Chrome的插件,用于统计用户的编程时长数据。

  1. 创建一个Github Gist https://gist.github.com/

  2. 新建一个拥有gist空间权限的Token,保存它 https://github.com/settings/tokens/new

  3. 创建一个WakaTime的账号 https://wakatime.com/signup

  4. 在你的WakaTime账号设置中选择公开你的编码活动 https://wakatime.com/settings/profile

  1. 在你WakaTime账户设置中创建Api-Key,并且复制它 https://wakatime.com/settings/api-key

  2. Fork这个仓库 https://github.com/matchai/waka-box

  3. 编辑.github/workflows/schedule.yml文件,将其中的GIST_ID设置为你创建的gist页面的url

  4. 在你仓库的安全设置中添加下面两个环境变量 Settings > Secrets

    • GH_TOKEN: 第2步的gist token
    • WAKATIME_API_KEY: 第7步中的wakatime Api-key

这样就算是完成了,如果你有Github Action知识,并且懂cron表达式,可以看看这个仓库的action脚本。

name: Update gist with WakaTime stats
on:
schedule:
- cron: "0 0 * * *"
jobs:
update-gist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Update gist
uses: matchai/waka-box@master
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GIST_ID: 968220c97e8da1d047a9a480fa432e54
WAKATIME_API_KEY: ${{ secrets.WAKATIME_API_KEY }}

其中cron就是该脚本执行的时间,每个小时的0秒0分,也就是指每小时执行一次。

你可以将这个gist的script文件添加到你的Github Profile中,用来在首页显示你的编码时间。

统计Steam游戏时间也是类似,不过没有Wakatime这样的平台去让我们拉取数据,但是我们可以直接去Steam拉取。

可以参考这个仓库

https://github.com/journey-ad/steam-go

代码片段,可以看到STEAM_API_KEY与STEAM_ID也是需要你设置到仓库环境变量中去的。

func main() {
steamClient := steam.NewClient(os.Getenv("STEAM_API_KEY"), nil)
steamID, _ := strconv.ParseUint(os.Getenv("STEAM_ID"), 10, 64)
ctx := context.Background()
params := &steam.GetOwnedGamesParams{
....
....

本质都是类似于爬虫,利用Github Action来达到触发的效果。

这样就算是完成了,还有更多玩法可以自己探索。

欢迎关注我的公众号: 肥宅与画家

Github个人首页美化指北的更多相关文章

  1. git宝典—应付日常工作使用足够的指北手册

    最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github ...

  2. 可能比文档还详细--VueRouter完全指北

    可能比文档还详细--VueRouter完全指北 前言 关于标题,应该算不上是标题党,因为内容真的很多很长很全面.主要是在官网的基础上又详细总结,举例了很多东西.确保所有新人都能理解!所以实际上很多东西 ...

  3. 后端API入门到放弃指北

    后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一 ...

  4. 颓废选手在 Ubuntu/Noilinux 下的生存指北

    颓废选手在 Ubuntu/Noilinux 下的生存指北 Hint: 这里的 "#" 都是假注释,复制的时候记得删除 一些基本的生存命令 ctrl + alt + t #调出终端 ...

  5. ThinkPHP 3.2.x 集成极光推送指北

    3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无 ...

  6. VMware Workstation 安装以及Linux虚拟机安装 指北

    最近有挺多小伙伴跟我说起虚拟机这个东西,所以,今天就给大家写一篇虚拟机安装使用指北吧. 虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台 ...

  7. 微信小程序云开发不完全指北

    微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小 ...

  8. Markdown 标记语言指北 - 源码

    这是上一篇博客的源代码. 这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. # Markdown 标记语言指北 #### TOC 1. [什么是 Markdown?](#%E4 ...

  9. Markdown 标记语言指北

    这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. Markdown 标记语言指北 TOC 什么是 Markdown? Markdown 可以用来干什么? 第一步? 一些专业一点 ...

随机推荐

  1. Oracle 回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 SQL> archive log list; ORA-01031: 权限不足 S ...

  2. Effective Objective-C 的读书笔记

    本文主要是摘录了 <Effective Objective-C 2.0>一书中提到的编写高质量iOS 代码的几个方法. 1 熟悉Objective -C 1.1 OC 起源 OC 为C语言 ...

  3. jzoj 3567. 【GDKOI2014】石油储备计划

    Problem Description Input Output 对于每组数据,输出一个整数,表示达到"平衡"状态所需的最小代价. Data Constraint 对于20%的数据 ...

  4. [程序员代码面试指南]二叉树问题-找到二叉树中的最大搜索二叉树(树形dp)

    题意 给定一颗二叉树的头节点,已知所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这个树的头节点. 题解 在后序遍历过程中实现. 求解步骤按树形dp中所列步骤.可能性三种:左子树最大.右子 ...

  5. NOIP2017 Day1 T1 小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小凯想知道在无法准确支付的物品中,最贵的价 ...

  6. sql中的join

    首先准备数据 有以下数据,三张表:role(角色表).hero(英雄表).skill(技能表),我们以英雄联盟的数据做示例 一个hero对应一个role(我们这里暂定) 一个role可以对应多个her ...

  7. Docker数据卷Volume实现文件共享、数据迁移备份(三)

    数据卷volume功能特性 数据卷 是一个可供一个或多个容器使用的特殊目录,实现让容器中的一个目录和宿主机中的一个文件或者目录进行绑定.数据卷 是被设计用来持久化数据的对于数据卷你可以理解为NFS中的 ...

  8. Azure Cosmos DB介绍及演示

    Azure Cosmos DB 是 Microsoft 提供的全球分布式多模型数据库服务.Cosmos DB是一种NoSql数据库,但是它兼容多种API.它支持SQL, MongoDB.Cassand ...

  9. EAM资产管理系统应用趋势简述

    EAM资产管理系统应用趋势简述 随着各种企业对资产管理需求的不断增长,EAM市场也正在持续升温,对于石油.化工.煤炭.钢铁等流程化企业及其他资产密集型企业来说,设备占用了企业大量的成本,如何降低设备维 ...

  10. vue项目工程中npm run dev 到底做了什么

    1. npm install 安装了webpack框架中package.json中所需要的依赖 2.安装完成之后,需要启动整个项目运行,npm run 其实执行了package.json中的scrip ...