本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/74,欢迎留言。
一、序言
几年前在简书上写过一篇文章(如何用Github Issues写技术博客?),提到如何使用Github Issues写博客,近期发现Github Issues写博客,可以结合 Github Actions做自动化,实现一个效果是:写了一篇博客之后,按照Issues的标签分类,自动更新博客的Readme.md文件,并且自动更新Github Page站点页面。
实现原理是:
基于Github的Actions功能,通过创建Actions监听Issues的变动事件,当Issues创建、修改、关闭、标签变化等情况的时候,自动触发Github Actions,在执行Github Actions的时候,借助Python的脚本,通过PyGithub库调用Github的API接口,执行以下步骤:
- 生成词云:读取本仓库Issues的所有标签,生成一个词云的图片
- 调用接口获取所有的标签,并且遍历该标签下所有状态是Open的Issues,把Issues的名称、链接以及创建时间、评论数等信息,以markdown的格式写入 readme.md
- 使用Github Actions脚本提交变更到该Git仓库
下面是具体搭建的过程步骤:
二、操作步骤
步骤1:创建Github Token
通过个人用户的Setting目录,生成一对Github Token
![](https://img.haomeiwen.com/i595838/9aeb7f807a212cff.png)
![](https://img.haomeiwen.com/i595838/08d7f5746da5d80a.png)
选择Token的有效期(可以选择无限期),并且勾选上token的权限(我全部勾选了)
![](https://img.haomeiwen.com/i595838/6d2b2fc1622763ed.png)
token创建之后,拷贝并保存好该Token,不要泄露了。
![](https://img.haomeiwen.com/i595838/505d77f2f5de23b9.png)
步骤2:将Github Token配置到Git仓库
![](https://img.haomeiwen.com/i595838/3b92dbc725373333.png)
这里的names
自定义命名,后续在配置Github Actions的时候会使用到,例如,命名为 BLOG_SECRET
![](https://img.haomeiwen.com/i595838/738bc9038227163f.png)
步骤3:Github创建仓库、配置Github Actions
可以直接将我的这个Blog 仓库直接Fork或者Git clone一份,仓库链接: 点击这里访问仓库
修改 .github/workflows/main.yml
文件,修改下图画圈部分
![](https://img.haomeiwen.com/i595838/4b9d16f6075f3740.png)
修改完成后,将仓库提交到您个人的Github仓库,其中目录结构如下(Src
目录是我个人的目录,您可以删除):
![](https://img.haomeiwen.com/i595838/a1e88c2feb9dfcd5.png)
三、效果
根据以上几个步骤的配置,此时,就可以在Github Issues新建文章,并且添加上文章标签,创建完成后,在Github 仓库的Actions
菜单下,就可以看到自动化构建的脚本启动执行
![](https://img.haomeiwen.com/i595838/65942bfa9db54024.png)
Github首页的效果:
![](https://img.haomeiwen.com/i595838/4298a1d914745e59.png)
Github Page的效果:点击链接访问
![](https://img.haomeiwen.com/i595838/02c576c01bfd6cb2.png)
网友评论