Skip to content

如何基于Github Issues与Github Actions写技术博客? #3

@ipme

Description

@ipme

一、序言

近期发现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

1
2

选择Token的有效期(可以选择无限期),并且勾选上token的权限(全部勾选)

3

token创建之后,拷贝并保存好该Token,不要泄露。

4

步骤2:将Github Token配置到Git仓库

这里的names自定义命名,后续在配置Github Actions的时候会使用到,创建以下三个变量:

  • BLOG_SECRET:配置Github Token
  • GIT_EMAIL:配置Git的Email地址
  • GIT_USERNAME:配置Git用户名

image

步骤3:Github创建仓库、配置Github Actions

可以直接将我的这个Blog仓库直接Fork或者Git clone一份,仓库链接:点击这里访问仓库

修改 .github/workflows/main.yml 文件,修改下图画圈部分:

image

修改完成后,将仓库提交到您个人的Github仓库,其中目录结构如下(Src目录是个人目录,可删除):

14

三、效果

根据以上步骤配置后,即可在Github Issues新建文章并添加标签,创建完成后,在Github仓库的Actions菜单下可看到自动化构建脚本启动执行:

10

Github首页的效果:

13

Github Page的效果:点击链接访问

14

:::tip
原文-地址
:::

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions