跳转到正文

西风爱好驱动生产

GitShow:把 GitHub 账号变成一个自托管个人主页

文章作者 文章发布日期 热度868 本文共计981 字 预计阅读3 分钟
内容提要

GitShow 是一个自托管的 GitHub 个人主页程序,能将账号数据整理成干净的网页,展示个人信息、项目、贡献热力图和动态。它不依赖数据库,适合部署在服务器上。项目页可精选仓库,避免实验性项目干扰,让主页更像一个真正的作品集。

昨天给 Utterlog 添加了一个 GitHub 使用记录的页面,是从李笑来的官网扒来的思路(因为模仿的太像,不能叫参考),可以记录 GitHub 每日的构建动态,特别适合像我这样靠 AI 搞点东西的新手。

今天早上收到扣费通知,19 美元。我看了下是 MiniMax 订阅套餐,之前看到新模型发布,想体验一下 MiniMax 2.6,就开通了基础套餐,结果忘了退订。寻思也不能浪费,于是想着手里有几个用不到的 .dev 域名,干脆做成和 GitHub 信息关联的页面,就开始构思。

很多开发者都有 GitHub,但 GitHub Profile 本身更像一张名片。它能展示头像、简介、仓库和贡献图,但如果想把它当成真正的个人主页,就会遇到几个问题:项目展示不够可控,动态分散在不同页面,社交链接和联系入口不够灵活。

于是我做了 GitShow

GItShow

GitShow 是什么

GitShow 是一个自托管的 GitHub 个人主页程序。它会读取你的 GitHub 账号数据,把个人信息、项目、贡献热力图、最近动态、关注的人和 Star 趋势整理成一个干净的网页。它不是一个 SaaS,也不依赖数据库,适合直接部署在自己的服务器上。

它能展示什么
GitShow 的首页会先展示 GitHub 头像、用户名、简介、位置、社交链接,以及仓库数、Star 数、Commit 数、关注数和粉丝数。下面是贡献热力图、最近 30 天活动柱状图、精选项目和最近动态。

仓库展示

项目页不是简单列出所有仓库,而是由后台决定哪些仓库显示。这样个人主页就不会被一些实验仓库、临时仓库占满,而是更像一个真正的作品集。

活动看板会把 Push、PR、Issue、Star、Fork、Release 等 GitHub 事件整理成可筛选的时间线。关注页则会展示你关注的人、他们最近活跃时间、近期仓库和提交动态。

数据是怎么来的

GitShow 主要使用两类 GitHub API。

一类是 REST API,用来读取用户信息、仓库列表、仓库语言、最新 Release、公开动态和关注列表。

另一类是 GraphQL API,用来读取贡献日历和提交贡献统计。如果 GraphQL 获取失败,程序会退回到公开事件数据,尽量构造最近一年的提交热力图。

后端会把这些数据缓存起来,并且每 30 分钟刷新一次。这样页面访问时不需要每次都请求 GitHub,也能降低 API 限流风险。Star 趋势会记录到 star-history.json,最多保留最近 90 天。

后台管理

GitShow 带了一个轻量后台。进入后台后可以修改网站标题、GitHub 地址、Token、联系按钮、社交链接、首页项目数量和项目开关以及 Passkey 登录相关。

适合谁用

GitShow 适合想快速拥有一个开发者主页的人,想把 GitHub 项目整理成更像作品集的页面,通过关注可以更清楚的看到所关注用户的更新状态和仓库状态。

小结
GitShow 的目标不是替代 GitHub,而是把 GitHub 里的公开开发轨迹重新组织成一个更适合展示的个人主页。它保留了 GitHub 数据的真实来源,又提供了更自由的展示方式和更友好的关注信息同步状态。

演示地址: https://xifeng.dev
项目地址: https://github.com/gentpan/GitShow,想要一些星星。

END

文章信息与版权

本文作者
西风
文章分类
代码
首次发布
最后更新

14 条评论

  1. 织梦岁月LV-1LV-1 · 初声距下次升级还差 4 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    太优秀了。

  2. 威言威语LV-3LV-3 · 回音距下次升级还差 5 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    你最近产出很多,热情高涨!

  3. koobaiLV-1LV-1 · 初声距下次升级还差 2 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    ai 无所不能,估计很快要统治人类~

    1. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @koobai所在地加载中

      今天看了一个报道说 Ai 可能在不久的将来会自己开发自己,到时候会不会人和机器人大战,哈哈

  4. 林羽凡LV-2LV-2 · 微语距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    这个厉害了,我刚试了下,访问速度非常快

    1. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @林羽凡所在地加载中

      还在改进,昨天看了别人一个项目,界面更好看,我再继续更新下

  5. obabyLV-3LV-3 · 回音距下次升级还差 10 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    效果不错。。

    1. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @obaby所在地加载中

      感觉比较鸡肋没啥用,哈哈,就是给闲置域名做个停放

  6. 皇家元林LV-3LV-3 · 回音距下次升级还差 12 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上所在地加载中

    挺不错的,项目不少啊!
    domain.ls 是你的吗?怎么打不开了

    1. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @皇家元林所在地加载中

      对,也是我的, 没有去部署,我这两天给上线,把所有域名弄好看看

      1. 皇家元林LV-3LV-3 · 回音距下次升级还差 12 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @西风所在地加载中

        demo.utterlog.io 这个也打不开了
        utterlog 只支持 docker 部署吗?
        能不能源码部署,或者 go 程序运行?

        1. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @皇家元林所在地加载中

          分前端后端, 所以 docker 比较好,但是占用资源不多的,demo 这个站因为这个程序一直还没完善好, 我就没去搭建检测试站。 我晚点搭建一个我把账号密码发你邮箱你看看。

          1. 皇家元林LV-3LV-3 · 回音距下次升级还差 12 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @西风所在地加载中

            好的,谢谢。
            你有没有发现你的评论会重复。。哈哈

          2. 西风LV-6LV-6 · 畅言距下次升级还差 7 条LV-1 · 初声0–4 条LV-2 · 微语5–14 条LV-3 · 回音15–29 条LV-4 · 清谈30–59 条LV-5 · 共鸣60–99 条LV-6 · 畅言100–179 条LV-7 · 妙语180–299 条LV-8 · 知音300–499 条LV-9 · 雅集500–799 条LV-10 · 余音800 条及以上 @皇家元林所在地加载中

            刚刚发现这个问题,已经修复了,等下我升级下

来几句走心的评论吧