Github Repo Charts
为你的 README 生成 GitHub 仓库成长图,个人数据报表
特性
生成仓库成长图表
Github Star 成长图例是循环访问了 Github API 并获取到仓库的 Star 列表,由于 API 的限制,我们不能完美的获取到所有 Star 和其对应的时间节点,所以只提供了少于 500Star 项目的图例,如果你的项目 Star 数超过500,那么图例也仅仅会渲染前500条,姑且认为超过500条的项目已经是稍微成熟点的项目了,哈哈
生成 Stars 图表
将以下代码复制到你的 markdown 文件中,即可欣赏你的仓库成长图了
需要更新 repo=
为你的仓库名称,owner=
为你的用户名称
![TaroXin Repo Star](http://repo-charts.taroxin.cn/api/repo/starChart?repo=vue-pretty-logger&owner=TaroXin)
设置标题与副标题
在图例中,我们默认使用 ${owner}/${repo}
的形式作为主标题,Star 成长曲线
作为副标题,你也可以通过传参来修改他们
修改 title=
为你的主标题,subtitle=
为你的副标题
你也可以使用 showTitle=true
或者 showSubtitle=false
来控制主标题与副标题的隐藏
![TaroXin Repo Star](http://repo-charts.taroxin.cn/api/repo/starChart?repo=vue-pretty-logger&owner=TaroXin&title=My-Repo-Star&subtitle=我的仓库成长轨迹)
生成 Forks 图表
Forks 与 Stars 的原因一样,出于 Github API 的限制,我们只能获取到500条数据
以下代码即可生成Forks成长图例,或许你已经注意到,我们只是加了一个特殊的参数 from=fork
,from
参数用于区分数据来源于star
还是fork
,如果你不传递该参数,则默认使用star
,其他参数与获取 Star 图例的接口一致
![TaroXin Repo Star](http://repo-charts.taroxin.cn/api/repo/starChart?repo=vue-pretty-logger&owner=TaroXin&from=form)
生成仓库语言图
该图例支持两种生成方式,当 owner=
不为空时,会获得该用户名下所有仓库的语言图,如果 owner=
和 repo=
皆不为空的时候,会生成该仓库的语言图
图例的颜色选项来自 GitHub, GitHub 对每一种语言都有唯一的颜色定义
获取用户所有语言
![TaroXin Language](http://repo-charts.taroxin.cn/api/repo/languageChart?owner=TaroXin)
获取单个仓库语言
![TaroXin Repo Language](http://repo-charts.taroxin.cn/api/repo/languageChart?owner=TaroXin&repo=vue-pretty-logger)
全部 Demo
开发
如果你有意参与此项目,或者你仅仅只是想本地运行,那么你只需要以下步骤即可正常运行
步骤一
我们需要你把项目正确的clone下来,并安装相关依赖,需要注意的是,项目中含有 puppeteer 相关依赖,如果存在下载不成功的情况,请参阅其他文档
git clone https://github.com/TaroXin/github-repo-charts.git
cd github-repo-charts && npm i
步骤二
新建 .env
文件,这是我们的私有变量文件,存储个人的Github Access Token
以及我们需要用作数据缓存的Redis
相关配置,以下配置不可用,需要你配置好自己的数据
GITHUB_ACCESS_TOKEN=<Your Token>
REDIS_IP=<Redis ip>
REDIS_PORT=<Redis port>
REDIS_PASSWORD=<Redis password>
步骤三
运行项目,并访问
npm run dev
open http://localhost:7001/api/repo/starChart
你会得到一个422
错误,来提醒你缺少相应的参数配置
TODO
- 生成原创项目 Star 与 Fork 对比柱状图
- 生成 Github 数据主页
- Docker 私有化部署