github 个人主页配置
Guthub 个人主页 (官方称呼是 profile)可以展示很多有用的信息,例如添加一个首页被访问次数的计数器,一个被 Star 与 Commit 的概览信息,以及各种技能标签,设备标签等,还可以利用 wakatime 显示你最近编码各类语言的使用时长。
默认的主页会显示其仓库信息、提交信息,例如 Linux 之父 Linus 的 GitHub 主页 长这样:

Github 关于主页定制的说明文档:Setting up and managing your GitHub profile
1 原理
在 GitHub 上新建一个仓库,仓库名和自己 Github 用户名相同,然后添加一个 README.md 自述文件,在该文件里添加信息即可。
这是我的仓库:https://github.com/Taot-chen/Taot-chen
仓库建好后,添加一个 README.md 文件,此时可以看到右上角有个提示:
Taot-chen/Taot-chen is a special repository.Its README.md will appear on your public profile.

2 主页定制
接下来,就可以通过修改 README.md 来定制主页了。
首先可以找一个好看的模板,修改信息作为自己的主页。例如:
- awesome-github-profile-readme
- awesome-github-profiles
- beautify-github-profile
2.1 GitHub 统计卡片
-
项目地址:github-readme-stats
-
使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:

显示图标、主题样式等配置可以参考官网文档。
- 效果:

2.2 GitHub 使用语言统计
- 项目地址:github-readme-stats
- 使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:

- 效果:

2.3 GitHub Gist Pins
- 项目地址:github-readme-stats
- 使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名,href的值改为对应 github 项目的地址:
<a href="https://github.com/Taot-chen/Taot-chen.github.io"><img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=Taot-chen&repo=Taot-chen.github.io&theme=default" /><a href="https://github.com/Taot-chen/raspberrypi_dl"><img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=Taot-chen&repo=raspberrypi_dl&theme=default" />
- 效果:

2.4 GitHub 资料奖杯
-
项目地址:github-profile-trophy
-
使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:
[](https://github.com/ryo-ma/github-profile-trophy)
- 效果:

2.5 GitHub 徽章
为 github 开源项目生成高质量小徽章图标,直接复制链接使用。
-
项目地址:Shields.io
-
使用:在 README 文件中添加如下代码:
<img src="https://img.shields.io/badge/-HTML5-E34F26?style=flat-square&logo=html5&logoColor=white" />
<img src="https://img.shields.io/badge/-CSS3-1572B6?style=flat-square&logo=css3" />
<img src="https://img.shields.io/badge/-JavaScript-oringe?style=flat-square&logo=javascript" />
- 效果:

2.6 GitHub 访客徽章
这个徽章会实时改变,记录此页面被访问的次数。
-
项目地址:visitor-badge.glitch.me
-
使用:在 README 文件中添加如下代码,
page_id= 的值修改为 GitHub 用户名:

- 效果:

2.7 GitHub 活动统计图
动态生成的活动图,用于显示过去 31 天的 GitHub 活动。
-
项目地址:github-readme-activity-graph
-
使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:

- 效果:

2.8 修仙系列统计卡片
一个以凡人修仙传境界为基础的 Github 统计卡片。等级分为:[‘道祖’, ‘大罗’, ‘太乙’, ‘金仙’, ‘真仙’, ‘大乘’, ‘合体’, ‘炼虚’, ‘化神’, ‘元婴’, ‘金丹’, ‘筑基’, ‘练气’],对应区间:[1, 5, 10, 15, 20, 30,40,50,60, 70, 80, 90, 100]。
-
项目地址:github-immortality
-
使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:

2.9 GitHub 连续打卡
在 README 中展示连续提交代码的次数。
-
项目地址:github-readme-streak-stats
-
使用:在 README 文件中添加如下代码,
?username= 的值修改为 GitHub 用户名:

2.10 社交统计
在 README 中展示在一些流行的网站的数据,例如知乎,GitHub,B 站,LeetCode,掘金,CSDN,牛客。
-
项目地址:stats-cards
-
使用:在 README 文件中添加如下代码,
username= 的值为那个网站的用户名:

2.11 star 趋势
统计和展示自己某个项目的 star 趋势。
-
项目地址:star-history.t9t.io
-
使用:输入仓库名,就能自动生成 star 增长曲线。还能输入多个仓库查看项目对比。
2.12 GitHub Corners:分享角标
如果你的 GitHub 项目有一个对应的网站,并且想要用户通过网站跳转到 GitHub 项目页从而得到 star,不防试试这个。
-
项目地址:github-corners
-
使用:它可以帮你生成给网站添加 GitHub 角标的代码,只需要选择一个风格,复制代码到自己的项目主页文件中,将超链接替换为自己的仓库地址即可。
2.13 打字特效
让内容通过打字的特效来展示。
-
项目地址:readme-typing-svg
-
使用:复制代码到 Markdown 并替换
?lines= 的值为你想要的内容,字与字之间用加号隔开:

2.14 贪吃蛇
默认的提交信息是这样的:

可以将其变成一个动画:一只贪吃蛇挨个吃掉图里的绿点。
- 新建一个 workflow 文件(名字随意),不需要任何改动,然后提交:
name: generate animationon:# run automatically every 2 hoursschedule:- cron: "0 */2 * * *" # allows to manually run the job at any timeworkflow_dispatch:# run on every push on the master branchpush:branches:- masterjobs:generate:permissions: contents: writeruns-on: ubuntu-latesttimeout-minutes: 5steps:# generates a snake game from a github user (<github_user_name>) contributions graph, output a svg animation at <svg_out_path>- name: generate github-contribution-grid-snake.svguses: Platane/snk/svg-only@v3with:github_user_name: ${{ github.repository_owner }}outputs: |dist/github-contribution-grid-snake.svgdist/github-contribution-grid-snake-dark.svg?palette=github-dark# push the content of <build_dir> to a branch# the content will be available at https://raw.githubusercontent.com/<github_user>/<repository>/<target_branch>/<file> , or as github page- name: push github-contribution-grid-snake.svg to the output branchuses: crazy-max/ghaction-github-pages@v3.1.0with:target_branch: outputbuild_dir: distenv:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 将下列代码复制到 Markdown 内,将用户名部分替换成自己的,并提交
<picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Taot-chen/Taot-chen/output/github-contribution-grid-snake-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Taot-chen/Taot-chen/output/github-contribution-grid-snake.svg"><img alt="github contribution grid snake animation" src="https://raw.githubusercontent.com/Taot-chen/Taot-chen/output/github-contribution-grid-snake.svg">
</picture>
这段代码的目的是:加载贪吃蛇动画,且贪吃蛇的暗亮风格与你的 Github 的暗亮风格进行自动适配。
前面的 workflow 里面设置的是每隔 2 小时更新一次,可以先手动跑一次。点击 generate animation,点击 Run workflow:

稍等片刻,显示运行成功,再次回到仓库主页就会看到贪吃蛇动画已被加载。
2.15 博客文章同步
如果你有博客网站,且网站带有 RSS 功能,就可以配置此功能,它能在你的 GitHub 首页上显示最近更新的博客。
-
原理:利用 blog-post-workflow 在自述文件上展示最近几篇博客文章。
-
使用
-
创建一个 workflow(例如 blog-post-workflow.yml ),需要改动最后一行的 feed_list 的内容为你自己网站的 RSS 链接。
name: Latest blog post workflow on:schedule: # Run workflow automatically- cron: '0 */2 * * *' # Runs every hour, on the hourworkflow_dispatch: # Run workflow manually (without waiting for the cron to be called), through the GitHub Actions Workflow page directly permissions:contents: write # To write the generated contents to the readmejobs:update-readme-with-blog:name: Update this repo's README with latest blog postsruns-on: ubuntu-lateststeps:- name: Checkoutuses: actions/checkout@v3- name: Pull in blog's postsuses: gautamkrishnar/blog-post-workflow@v1with:feed_list: "https://taot-chen.github.io/rss.xml" -
然后在自述文件输入这些内容,程序会自动抓取文章标题、链接等并替换这两个注释:
📕 **Latest Blog Posts** <!-- BLOG-POST-LIST:START --> <!-- BLOG-POST-LIST:END -->- 与贪吃蛇同理,此时是看不到文章列表的,得先手工运行一次 action,稍等片刻,显示运行成功,再次回到仓库主页就会看到生效了。
-
2.16 GitHub 3D 统计
使用 3D 图来展示信息。
-
项目地址:github-profile-3d-contrib
-
使用:用 GitHub Action。首先创建文件 .github/workflows/profile-3d.yaml,内容如下:
name: GitHub-Profile-3D-Contribon:schedule: # 03:00 JST == 18:00 UTC- cron: "0 18 * * *"workflow_dispatch:jobs:build:runs-on: ubuntu-latestname: generate-github-profile-3d-contribsteps:- uses: actions/checkout@v3- uses: yoshi389111/github-profile-3d-contrib@0.7.1env:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}USERNAME: ${{ github.repository_owner }}- name: Commit & Pushrun: |git config user.name github-actionsgit config user.email github-actions@github.comgit add -A .git commit -m "generated"git push
-
然后手动执行一次 action:Actions -> GitHub-Profile-3D-Contrib -> Run workflow
-
然后会生成这些文件(带路径,各种主题的都有):
- profile-3d-contrib/profile-green-animate.svg
- profile-3d-contrib/profile-green.svg
- profile-3d-contrib/profile-season-animate.svg
- profile-3d-contrib/profile-season.svg
- profile-3d-contrib/profile-south-season-animate.svg
- profile-3d-contrib/profile-south-season.svg
- profile-3d-contrib/profile-night-view.svg
- profile-3d-contrib/profile-night-green.svg
- profile-3d-contrib/profile-night-rainbow.svg
- profile-3d-contrib/profile-gitblock.svg
-
最后在 Markdown 里添加即可
<picture><source media="(prefers-color-scheme: dark)" srcset="/profile-3d-contrib/profile-night-rainbow.svg" /><source media="(prefers-color-scheme: light)" srcset="/profile-3d-contrib/profile-gitblock.svg" /><img src="/profile-night-rainbow.svg" />
</picture>
- 报错解决:
remote: Permission to mthsBelloni/mthsBelloni.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/Taot-chen/Taot-chen/': The requested URL returned error: 403
Error: Process completed with exit code 128.
大概率是因为没有配置 actions 的写权限,导致无法写入 svg 文件。添加权限即可:

- 效果

2.17 感谢参与者
每位开源项目的参与者都值得记录和感谢,传统方式是手工编辑,项目负责人一个一个地把参与者的名字记录到 README.md,非常低效。
可以使用一种更高效、自动化的方式来添加项目贡献者。
- 项目地址:allcontributors.org
- 使用:可以用命令行或者机器人的方式自动将项目的贡献者补充到项目文档中,并且生成排版精美的表格。
相关文章:
github 个人主页配置
Guthub 个人主页 (官方称呼是 profile)可以展示很多有用的信息,例如添加一个首页被访问次数的计数器,一个被 Star 与 Commit 的概览信息,以及各种技能标签,设备标签等,还可以利用 wakatime 显示…...
STM32-笔记30-编程实现esp8266联网功能
串口2连接ESP8266模块 复制项目文件34-ESP8266串口间的通信 重命名为35-编程实现ESP8266联网功能 打开项目文件 main.c #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include "esp8266.h"…...
oscp备考 oscp系列——Kioptix Level 1靶场 古老的 Apache Vuln
目录 前言 1. 主机发现 2. 端口扫描 3. 指纹识别 4. 目录扫描 5. 漏洞搜索和利用 前言 oscp备考,oscp系列——Kioptix Level 1靶场 Kioptix Level 1难度为简单靶场,主要考察 nmap的使用已经是否会看输出,以及是否会通过应用查找对应漏…...
《机器学习》——随机森林
文章目录 什么是随机森林?随机森林的原理随机森林的优缺点优点缺点 随机森林模型API主要参数 实例实例步骤导入数据处理数据,切分数据构建模型训练模型测试数据并输出分类报告和混淆矩阵画出模型的前十重要性的特征 扩展 什么是随机森林? -随…...
指代消解:自然语言处理中的核心任务与技术进展
目录 前言1. 指代消解的基本概念与分类1.1 回指与共指 2. 指代消解的技术方法2.1 端到端指代消解2.2 高阶推理模型2.3 基于BERT的模型 3. 事件共指消解:跨文档的挑战与进展3.1 联合模型3.2 语义嵌入模型(EPASE) 4. 应用场景与前景展望4.1 关键…...
记录一下Unity webgl cannot read properties of undefined reading apply 错误
出现这个问题说明你Build 文件夹的内容和最新的打包内容冲突了 解决方法是把Build文件夹里面的东西全部删了 然后使用Unity重新生成这些文件 后续发现还是有这个问题 然后想了一下本地冲突应该在前端吧本地的文件删了重新拉取服务器的文件才行 以下是解决方法 <script t…...
【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 1. 选择结构基本概念 2. 主要语句类型(if、if-else、switch) 3. 跃迁函数中变量的取值范围 4. 计算阶跃函数的值 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务:输入x的值&#x…...
unity 播放 序列帧图片 动画
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、方法一:代码控制播放序列帧1、设置图片属性2、创建Image组件3、简单的代码控制4、挂载代码并赋值 二、方法二:直接使用1.Image上添加…...
HTML - <a>
目录 1.简介 2.属性 2.1 href 2.2 hreflang 2.3 title 2.4 target 2.5 rel 2.6 referrerpolicy 2.7 ping 2.8 type 2.9 download 3.邮件链接 4.电话链接 1.简介 链接(hyperlink)是互联网的核心。它允许用户在页面上,从一个网址…...
Unity学习笔记(六)使用状态机重构角色移动、跳跃、冲刺
前言 本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记 整体状态框架(简化) Player 是操作对象的类: 继承了 MonoBehaviour 用于定义游戏对象的行为,每个挂载在 Unity 游戏对象上的脚本都需要继承自 MonoBehaviour&#x…...
【C++数据结构——树】二叉树的遍历算法(头歌教学实验平台习题) 【合集】
目录😋 任务描述 相关知识 1. 二叉树的基本概念与结构定义 2. 建立二叉树 3. 先序遍历 4. 中序遍历 5. 后序遍历 6. 层次遍历 测试说明 通关代码 测试结果 任务描述 本关任务:实现二叉树的遍历 相关知识 为了完成本关任务,你需要掌…...
Android Telephony | 协议测试针对 test SIM attach network 的问题解决(3GPP TS 36523-1-i60)
背景 除了运营商实网卡之外,在各种lab的协议测试中需要 follow 3GPP 协议定义(可以查询3gpp.org website 获取),那么 feature 需要支持覆盖的卡就不止运营商本身了。 本文介绍 IA APN流程,重点关注在协议/lab测试中,针对测试卡、非实网卡的的设置项,记录遇到的问题分…...
jenkins入门3 --执行一个小demo
1、新建视图 视图可以理解为是item的集合,这样可以将item分类。新建视频可以选择加入已有的item 2、新建item 1)输入任务名称、选择一个类型,常用的是第一个freestyle project 2)进行item相关配置,general 设置项目名字,描述,参数…...
STM32传感器系列:GPS定位模块
简介 我们在做一些项目的时候,可能需要使用到GPS模块,我们可以通过这个模块获得当前的位置以及时间,我这里就教大家如何去使用GPS定位模块,并且把示例代码开源到评论区下面,有需要自取即可,我我这里用到的…...
技术成长战略是什么?
文章目录 技术成长战略是什么?1. 前言2. 跟技术大牛学成长战略2.1 系统性能专家案例2.2 从开源到企业案例2.3 技术媒体大V案例2.4 案例小结 3. 学习金字塔和刻意训练4. 战略思维的诞生5. 建议 技术成长战略是什么? 1. 前言 在波波的微信技术交流群里头…...
【前端】Vue3与Element Plus结合使用的超详细教程:从入门到精通
文章目录 Moss前沿AI一、教程概述1.1 目标读者1.2 学习目标 二、为什么选择Vue3与Element Plus2.1 Vue3的优势2.2 Element Plus的优势2.3 二者结合的优势 三、环境搭建3.1 创建Vue3项目3.2 安装Element Plus3.3 引入Element Plus 四、Element Plus常用组件使用详解4.1 按钮&…...
Linux 35.6 + JetPack v5.1.4之 pytorch升级
Linux 35.6 JetPack v5.1.4之 pytorch升级 1. 源由2. 升级步骤1:获取二进制版本步骤2:安装二进制版本步骤3:获取torchvision步骤4:安装torchvision步骤5:检查安装版本 3. 使用4. 补充4.1 torchvision版本问题4.2 支持…...
旷视科技C++面试题及参考答案
在 Linux 系统下常用的命令有哪些? 在 Linux 系统中有许多常用命令。首先是文件和目录操作相关的命令。“ls” 命令用于列出目录的内容,它有很多选项,比如 “ls -l” 可以以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等;“ls -a” 则会显示所有…...
C 语言函数指针 (Pointers to Functions, Function Pointers)
C 语言函数指针 {Pointers to Functions, Function Pointers} 1. Pointers to Functions (函数指针)2. Function Pointers (函数指针)2.1. Declaring Function Pointers2.2. Assigning Function Pointers2.3. Calling Function Pointers 3. Jump Tables (转移表)References 1. …...
66.基于SpringBoot + Vue实现的前后端分离-律师事务所案件管理系统(项目 + 论文)
项目介绍 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装律师事务所案件管理系统软件来发挥其高效地信息处理的作用…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
