superleeyom / blog

:bookmark: 个人博客仓库,用于记录一些幼稚的想法和脑残的瞬间,欢迎 star、watch,该仓库为个人博客,请不要提 issue ,该仓库后端参考了 @yihong0618 的 gitblog 项目,前端参考了@LoeiFy 的 Mirror 项目,感谢!
https://blog.leeyom.top
220 stars 20 forks source link

基于Github Issues的博客搭建 #38

Open superleeyom opened 3 years ago

superleeyom commented 3 years ago

最新更新

前言

应朋友@凯佬的要求,特意写一篇基于 Github Issues 博客的搭建教程,整体的过程非常简单,后端参考了 @yihong0618gitblog 项目,发布issues,做数据备份,前端参考了@LoeiFyMirror 项目,用于做前端可视化界面,感谢二位大佬的开源精神,所有的服务全部免费(ps:如果你需要自定义域名,自定义域名需要自己付费购买),感谢 Github!

利用 Github Actions 做数据备份

首先需要 fork 我的项目 blog,也可以 fork @yihong0618gitblog 项目,都差不多,然后修改 generate_readme.yml文件,这个文件是触发自动备份的 CI/CD 配置文件,修改如下的地方:

env:
  GITHUB_NAME: superleeyom
  GITHUB_EMAIL: xxx@qq.com

改成你自己的 Github 用户名和邮箱,接着在你自己的这个 blog 仓库下,创建 Environment secrets环境变量 G_T

这个G_T是 Github 的访问授权 Token,注意保密,不要泄漏,Token 的获取如下图,scope 如果不知道选啥,全部勾上:

修改 main.py脚本,修改你自己的定制化的 README.md 的 header:

MD_HEAD = """**<p align="center">[Leeyom's Blog](https://blog.leeyom.top)</p>**
**<p align="center">用于记录一些幼稚的想法和脑残的瞬间~</p>**
## 联系方式
- Twitter:[@super_leeyom](https://twitter.com/super_leeyom)
- Telegram:[@super_leeyom](https://t.me/super_leeyom)
- Email:[leeyomwang@163.com](mailto:leeyomwang@163.com)
- Blog:[https://blog.leeyom.top](https://blog.leeyom.top)
"""

issues 列表,提前建好 labels 标签,后面一旦提交了新的 issues,或者你修改了 issuesREADME.md 会根据你给当前 issues 所打的labels 标签进行分类,比如我建了如下的几个labels,其中TODOTop,用于生成 TODO List 和置顶,比如你给这个 issues 加上了 Top 标签,那么他会出现在 README.md 置顶分类里面,这两个建议加上,剩下的按你自己的意愿加:

如果你是 fork 我的项目,建议先把 backup 文件夹下里面的 md 文件删除!因为那是我的 blog 备份文件!

有了这个项目,我们就可以通过 Github Actions,只要有 issues 发布或者修改,都会触发自动构建,备份issues生产 md 文件,然后刷新 README.md 文件。

后期你要发布文章,只需要创建一个 issues,然后打好标签,点击发布即可,剩下的都是自动化构建,不需要人为参与。

利用 Github Pages 做可视化界面

总结

虽然 Github Issues 的定位就不是为博客而生的,这也注定了它有诸多不足之处,比如无法限制别人发 issue ,但是对于那些不想折腾,内容才是王道的程序员朋友来说,免费、Markdown、代码高亮、标签、评论、图床、备份、Github大厂背书,Github Issues 也不乏是个与自己和他人沟通的好地方。

参考资料

Thomas-Lv commented 2 years ago

提示401 这么解决

superleeyom commented 2 years ago

提示401 这么解决

@Thomas-Lv 这个应该是你的hash生成的有点问题,是不是域名没有填对,你的默认域名是:thomas-lv.github.io

superleeyom commented 2 years ago

@Thomas-Lv 确认:1、域名是否填对,2、token权限是否设置对 具体可以仔细看下:https://github.com/LoeiFy/Mirror/wiki/%E8%8E%B7%E5%8F%96-hash

Thomas-Lv commented 2 years ago

之前搭建running page的时候就生成了 一个永久有效的 token,这次搭建博客 需要重新生成新token吗?如果重新生成新token是否会对running page有影响?

superleeyom commented 2 years ago

这个token只要查询权限,开放所有的权限可能比较危险,你这样吧,你先重新生成一个token再试试,如果还是不行,你直接在Telegram上联系我吧?我的Telegram id:@super_leeyom @Thomas-Lv

zackzhangkai commented 2 years ago

你好,关于你说的不足的地方,我做了增强,可以自动根据 label 来选择是否要发布成文章,目前支持 todo top publish标签。

https://github.com/zackzhangkai/zackzhangkai.github.io/blob/master/.github/workflows/generate_markdown_blog.yml

需要在yml中增加

name: Generate GitBlog README

on:
  workflow_dispatch:
  issues:
    types: [opened, edited, labeled]

  sync:
    if: ${{ github.event.label.name == 'todo' }} || ${{ github.event.label.name == 'top' }} || ${{ github.event.label.name == 'publish' }}
    name: Generate README
superleeyom commented 2 years ago

你好,关于你说的不足的地方,我做了增强,可以自动根据 label 来选择是否要发布成文章,目前支持 todo top publish标签。

https://github.com/zackzhangkai/zackzhangkai.github.io/blob/master/.github/workflows/generate_markdown_blog.yml

需要在yml中增加

name: Generate GitBlog README

on:
  workflow_dispatch:
  issues:
    types: [opened, edited, labeled]

  sync:
    if: ${{ github.event.label.name == 'todo' }} || ${{ github.event.label.name == 'top' }} || ${{ github.event.label.name == 'publish' }}
    name: Generate README

cool 🆒

Salomens commented 2 years ago

image 请问这个情况是怎么回事,我太菜了

superleeyom commented 2 years ago

index.html 里面的repository: 'blog', 这个填你的issues的仓库名称 @Salomens

Salomens commented 2 years ago

我改了index.html以后再次测试还是这样的错误 image 再次打扰了@superleeyom

superleeyom commented 2 years ago

@Salomens 等我我看下你的相关仓库的配置

superleeyom commented 2 years ago

@Salomens 你的issues仓库的github的token相关的环境变量创建了吗?也就是这个 secrets.G_T

Salomens commented 2 years ago

image 有的前辈@superleeyom

Salomens commented 2 years ago

刚才我又试了一下重新添加 secrets.G_T 这次正常了,打扰前辈了,你的教程很棒!

superleeyom commented 2 years ago

@Salomens cool!有问题随时联系我

Salomens commented 2 years ago

前辈我又来了😢,为什么我的mirror不能正常展示出我的blog仓库的东西呢 它是这样的 image

superleeyom commented 2 years ago

@Salomens 看这步: image

Salomens commented 2 years ago

好了好了,感谢前辈,还是怪我没看仔细你的issues,打搅你了!

superleeyom commented 2 years ago

@Salomen 建议使用原始的 Mirror,我那个被我魔改,加了我的跑步的链接,那个得修改源码才行

hadwinn commented 2 years ago

请教一下,如果要增加一个元素,应该如何操作呢?工作量大吗? image

superleeyom commented 2 years ago

请教一下,如果要增加一个元素,应该如何操作呢?工作量大吗? image

这个比较简单,你可以加我的电报 @super_leeyom 我可以指导下

shenweiyan commented 1 year ago

看到很多人在用 Github Issues 搭建博客,真是不錯

zqisme commented 1 year ago

这个mirror网站打不开了,是不是无法获取hash了 2023-09-25 17 41 11 mirror am0200 com acbe19c6ee72

superleeyom commented 1 year ago

这个mirror网站打不开了,是不是无法获取hash了 2023-09-25 17 41 11 mirror am0200 com acbe19c6ee72

怎么感觉像是你的网络有问题啊,你检查下网络是否通畅 @zqisme

zqisme commented 1 year ago

这个mirror网站打不开了,是不是无法获取hash了 2023-09-25 17 41 11 mirror am0200 com acbe19c6ee72

怎么感觉像是你的网络有问题啊,你检查下网络是否通畅 @zqisme

请问你这边可以正常打开吗https://mirror.am0200.com/ ,我即使挂梯子也打不开这个网站,要不就跳转到这个。我是漏了什么吗 屏幕截图(5)

QiYongchuan commented 11 months ago

GitHub的主页推荐了我你的这个项目,嘿,咱们的后端都是一样的,我正好缺前端的东西,感谢大佬写的详细教程!

JosieWei2023 commented 10 months ago

这个mirror网站我也打不开

yaoqs commented 9 months ago

欢迎大家来这里转转https://github.com/yaoqs/Issues-LordYao