Github 居然可以这么玩

Categories: Creation

知乎答题上面的《你在 GitHub 上看到过的最有意思的项目是什么?》个人回复,有一些文章的感觉,直接放到专栏

那到底是可以怎么玩呢?

答案是 让你的 Github 个人页,变成一个博客首页,同时每天自动更新信息展示

前几天 github 出了一个新彩蛋,会自动将你仓库下的同名用户名仓库的 README 展示到你的个人页面的上方,就是如下的这个样子:

github.com/tw93 欢迎 Follow,欢迎 Follow,欢迎 Follow 🏓🏓🏂🏂⛷⛷🤺🤼‍♀️🤾‍♀️🤽‍♀️⛸🏹🚣🏄🛀⛹🚴🏇

tPPfRZ

周末两天空闲时间折腾了下,通过 Github Actions 自动每天去跑我的开源仓库、博客、WakaTime 和豆瓣动态,然后写入到 README 里面去,可编程性被大大提高了,很是潮流!

怎么实现的,知识点一个一个给大伙同步

预备知识

自动化获取信息巧妙方式

以上实现详细可见github.com/tw93/tw93仓库,有这么几种不错的实现:

1、利用 Github 提供的 Api

比如图片中 Product Releases 是借助 Python 中的GraphqlClient 去获取 Github Graphql Api 方式实现,先取到当前用户下所有的仓库字段信息,然后通过字符串拼接的方式凑成你需要的格式即可

2、利用网站的 RSS 地址很方便

比如说 Recent Blog 以及 Funny Soul 这两块,博客信息利用 feed.xml 可以快速获取

豆瓣的动态信息当时有想过去用 python 爬对应的信息,但是实现下来会比较蹩脚,登录态需要隔一段时间去维护一下,恰好在处理个人页信息时候看到了如下 feed rss,半小时就把本来一天的事情给做了;

Rss 信息处理整体可以通过 feedparser 将对应的 Rss 获取到内容数组,然后再进行拼接即可

3、利用自动化的工具提供的 API

比如上文中的 Weekly Development Breakdown 这一块,超级推荐大家使用 wakatime 这个工具来统计你的代码时间,具体使用可以 Google,此处不详细;

如何画如下这个图,可以参考 tw93/waka-box 里面的代码,利用 wakatime-client 取到信息,然后也是进行字符串拼接处理即可,由于是之前 fork 更改,最终会生成一个 gist

最后利用 httpx 获取到对应 raw 的文本内容,然后通过到 Markdown 代码语法插入即可

更多思路

结合 Github Profile Readme 和 Actions 能力 还可以做更多有趣的事情,比如可以将每天需要看到文章自动生成到首页去,这样就不需要去找了,可参考github.com/simonw,周末弄时有些处理借鉴了 simonw 的思路

还有一种“忽悠的有趣玩法”,可以录制一个 mp4,然后转成 gif 放到首页上去,会比较有趣,比如说praveenscience这个老外

还有一种“更 6666 的”,直接将玩游戏搬到了首页,通过发送 issue 的方式来移动棋子,然后动态更新,有很多人在玩,还有排名,很是潮流,比如说timburgan

v2-1d3ac494f0a53a183e7da8f5566f9acd_hd

发现了一个 awesome 专门放 github profile readme 的仓库,提交了一个 PR,里面收集了大量的案例和使用,可见abhisheknaiidu/awesome-github-profile-readme

结尾

顿时觉得国外的程序员都挺会玩的,很是潮流,值得我们学习和去交流,少加无意义的班,多写有趣的代码。

Read More

GMTC 飞猪 Serverless 技术探索和落地

【2020-07-05】2021 年北京 GMTC 全球前端开发者大会上,我这边对于部门 Serverless 建设的一个分享,当场还拿到了 「明星讲师」,同时也认识了不少朋友,一次很好的经历。