利用github action在github上用issue写博客

People Die, but Long Live GitHub

世间一切社交平台或者服务器都可能在未来的某一天关闭,100年以后,什么会留下来呢?或许只有github吧。


前言

在twitter上关注了大佬yihong0618,在他的blog当中看见了上述的话语。

于是,利用github的issue写博客,并用Maverick生成博客页面的想法便在我的脑海里形成,于是便有了以下效果:

简介

本方案使用了两个项目:

最终实现的效果是,你在博客专属的GITHUB项目建立ISSUE,当你发表新的ISSUE,即发表新的博客的时候,会自动同步到博客项目的REDME当中,并根据LABEL进行分类,相当于我们常说的TAG。

生成REDME之后,会在你设定的项目文件夹当中自动生成备份MARKDOWN文件,之后,利用GITHUB PAGE,推送生成自己的专属博客页面。

效果

你只需要写issue打label就好了,其余完全不用管。

安装

  • 步骤一:在github上建立自己的博客项目,请参照AlanDecode-Maverick
  • 步骤二:gitclone(下载)yihong0618-gitblog的文件,按照链接当中的方法修改自己的内容。其中,sercets和token的设置,在刚刚建立的自己的博客项目当中设置,即步骤一。
  • 步骤三:gitclone(下载)刚刚创建好的Maverick(步骤一)到自己的电脑上。并将gitblog当中的文件与Maverick合并。注意,两个文件夹当中都有这个文件夹,将二者合并即可。

  • 步骤四:修改gitblog的main.py文件,将BACKUP改成SRC。因为Maverick是从SRC文件夹当中推送MARKDOWN文件的。

  • 步骤五:修改自动备份文件的标头,自动生成Maverick的标头。

在main.py文件当中搜索backup,找到这一段

修改成如下(复制即可):

def save_issue(issue, me, dir_name=BACKUP_DIR):
    time = format_time(issue.created_at.strftime('%Y-%m-%dT%H:%M'))
    md_name = os.path.join(
        dir_name, f"{issue.number}_{issue.title.replace(' ', '.')}.md"
    )
    with open(md_name, "w") as f:
        f.write(f"---nlayout: postntitle: {issue.title}nslug: {issue.title}ndate: {time} 08:00nstatus: publishnauthor: Lesliencategories: n  - stand ntags:n  - stand n  - stand nexcerpt: n---nn")
       
        f.write(issue.body)
        if issue.comments:
            for c in issue.get_comments():
                if is_me(c, me):
                    f.write("nn---nn")
                    f.write(c.body)
        f.write(f"nn[{issue.title}]({issue.html_url})nn")    
  • 步骤六:修改Maverick的workflow

打开

里面的ci.yml,修改

修改成

on:
  workflow_run:
    workflows: ["Generate GitBlog README"]
    types:
      - completed

这段代码的意思是,先运行

生成README和备份文件后,运行Maverick,开始推送GITHUB PAGE.

  • 步骤七:提交文件推送到步骤一建立的博客项目中。
# cd 到仓库文件夹后

git add .
git commit -m "添加修改"
git push
  • 步骤八:创建ISSUE(没有的记得打开ISSUE,可谷歌百度搜索如何打开),创建LABEL,开始自己的第一篇博客。
  • 步骤九:东西比较复杂,我也折腾了挺久,若有问题可留言。至于模板之类的,我是抄的Maverick原作者Alancode的模板,你可以创建自己的博客模板。

最后

  • 感谢原作者Alancode和yihong0618。
  • 第一次写文章,若有不足请在评论区提出,感谢谅解。
-> 加入科技玩家交流群组:点击加入 <-
注意:
1.文中二维码和链接可能带有邀请性质,请各位玩家自行抉择。
2.请勿通过链接填写qq号与密码、银行卡号与密码等个人隐私信息。
3.禁止纯拉人头,拉app注册等信息,发现必小黑屋。
4.同一种信息仅发一次,多发会被删除。
5.文章中源码或APP等,无法保证其绝对安全,需自行辨别。
6.文章关联方不想展示也可以微信站长“socutesheep”删除。
本文由 @leslie 发布。如若转载,请注明出处: 科技玩家 » 利用github action在github上用issue写博客

给TA买糖
共{{data.count}}人
人已买糖
教程玩家投稿

认证网易云音乐人教程

2022-3-23 0:22:37

教程玩家投稿

青龙面板-网易音乐人呆瓜

2022-3-23 23:17:46

20 条回复 A文章作者 M管理员
贴心提醒
请认真对待作者付出,勿发表无意义言论,触发过滤规则的评论将无法提交,包含敏感词的评论会自动变成待审核状态哦。
  1. FULI

    对于个人来说刚刚好,或者有条件自己可以搭个博客

  2. 小朋友

    issue写博客,老哥有想法

  3. 星橙

    学习一下

  4. zybzhong

    代码写博客都是神佬做的事

    • leslie

      正常人谁写日记

  5. 十一19734

    target无法自动生成

    • leslie

      有出错截图吗

  6. 里昂leon

    码住,慢慢学

  7. 宣言

    先回复,再学习

  8.  AMI

    github page也很舒服

  9. Carol

    有意思,Carol我来支持一下🤔

  10. Carol

    真是厉害了,我赶紧学习先

  11. Carol

    点赞,感觉真不错👍🏻

  12. Carol

    不明觉厉,支持一下👍🏻👍🏻👍🏻

  13. Carol

    mark一手,这么优秀哈哈

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索