yihong0618/gitblog

这个博客开源了

yihong0618 opened this issue · 141 comments

因为一篇去年非常触动我的文章--People Die, but Long Live GitHub
我决定不再用纸笔写日记,进而全部转到 GitHub 上。如果你看到这个,这个其实不是那些大牛的技术博客,而是单纯的碎碎念偶尔认真的记录自己而已。


虽然如此但也经历了几个阶段

  1. 纯粹的写issue
  2. 写完issue后添加目录到README
  3. 改成webhook用flask部署个callback 每次写完issue自动生成新的 README
  4. 最近算是学会了一些 GitHub Actions,现在只需要写 issue 打 label 就好了,其余完全不用管。核心代码在 main.py
  5. 支持了 RSS

如果你也想自己写issue博客,并自动生成README,你可以参考如下步骤

  1. fork this repo (or just copy the file whatever)
  2. change GitHub secret
  3. write issue and add label
  4. please delete all files in BACKUP folder(2020.11.26 add)
  5. 别忘了在 settings 里打开 Actions 读写的权限

关于如何生成 GitHub secret token

image

  1. 这里 点击 generate new token把需要的点上
  2. 在你的repo 中更改 secret 中把刚生成的token设置进去
    image
  3. 更改workflow中的token name 换成你自己的(不要忘了secrets 点)
    image

需要把 env 中的 name 和 email 改成自己的
image

2020.08.24更新: 增加了显示更多。 完善了置顶功能,现在只需要打label就可以了。

现在不用改任何东西在main.py了只需要更改自己的token就可以了,增加了todo标签

完善了todo标签,优化了一点点代码。

你好,有自己的blog,直接copy你的main.py可以吗

你好,有自己的blog,直接copy你的main.py可以吗

@Aaronwn
当然可以啊。但是你还得把 .github那个文件夹拷贝过去。那个是action用的,还得生成自己的github secret token 我这里叫G_T你可以改成你自己的名字,如果有问题随时问我可以。之后你就可以写issue 打label就行。

把 todo list 放在下面了, 如果想放在最上可以修改 write md 的函数顺序

增加了一些教程。

cool,之前也想把文章整合进readme中,看到这篇文章,发现了你再底下的留言,真是太巧了吧,他这个感觉就太花哨了,你这个挺符合我的要求的,拷贝你的这些workflows yml等文件后,完美使用,只是这个generate_readme.yml 里的:

- name: Push README
uses: github-actions-x/commit@v2.6
with:
    github-token: ${{ secrets.G_T }}
    commit-message: "Refresh README"
    files: README.md
    rebase: 'true'
    name: superleeyom 
    email: 635709492@qq.com

一定要改成自己的 name 和 email,否则就会以当前 name 的用户更新 README.md,我拷贝过来后忘记改了,然后恭喜 @yihong0618 成为我 blog 仓库的 contributor,哈哈,记得改过来就行

@superleeyom 世界真小。我当时看到他那个了。当时还没有actions, 我决定自己写,用的hooks,后来有actions了改的actions哈哈。

@superleeyom 这个有 TODO 和 TOP 的特殊标签,可以方便使用。

@superleeyom 把 env 提出来了,放在了 top 防止大家忘了更改。

使用了@yihong0618 生成README的脚本和action🌷。
加上了保存issue到备份目录的功能,有需要可以自取。
https://github.com/egolearner/paper-note/blob/master/tools/issue2md.py
https://github.com/egolearner/paper-note/blob/master/.github/workflows/issue2md.yml

就是说,可以把issue转为markdown进行备份吗? @egolearner

@egolearner 我刚试了下,似乎失败了,提示截图如下:
image
我将 issue2md.py 和 issue2md.yml 分别拷贝到了我的仓库

找到问题了,是 issue2md.yml 里的路径弄错了,因为我直接贴到跟目录,没有 tools 目录,去掉就ok,但是又出现另外一个错误:
image

手动触发执行的action,跟这个有关系吗?
image
@egolearner

@superleeyom 这个脚本在issue创建或更新的时候执行,将单个issue保存为md提交到repo中
你可以编辑一个issue试试
手动执行应该获取不到issue number

image
好像还是不行哎,是我哪里的配置不对吗? @egolearner

@superleeyom @egolearner 我抽个时间看一下然后集成进去吧,应该有优化的空间。

增加了 back up 功能,去掉了 kb.

@superleeyom @egolearner 整合进去了,谢谢。
更改了一些代码,把两个 Actions 整合成一个 Actions 了,也考虑到了不是 Issues 触发,变得更通用了些。

@yihong0618 cool,我试试看,哈哈

kZime commented

感觉commit-message的内容可以更丰富?

感觉commit-message的内容可以更丰富?

谢谢,应该可以,我找个时间更新下。

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

cool~
image

cool~
image

@Urchinzhou
谢谢支持。yml 中有一行你得删除 我触发2021用的, 注释中有。
image

微信截图_20210130110225

想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗?
感谢老哥开源的博客

参考楼上小伙伴的 repo,已解决

微信截图_20210130110225

想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗?
感谢老哥开源的博客

去掉 curl 那句就行~这个是用来触发2021 的actions 的^_^. 很有用,有兴趣你也可以研究下哈哈。

微信截图_20210130110225 想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗? 感谢老哥开源的博客

去掉 curl 那句就行~这个是用来触发2021 的actions 的^_^. 很有用,有兴趣你也可以研究下哈哈。

哈哈 好勒~

phh95 commented

fork 了你的项目之后,请问为啥顶部没有 issue 的选项卡了呢

得自己开,fork 默认是没的。

phh95 commented

这样子,谢谢

phh95 commented

创建了一个 issue,触发 Action 运行后提示错误,请问这个是什么地方出问题了

生成readme文件

你得配置你的 GitHub Token, 把权限都点上,并且在 secret 里加上,且 token 名和 yml 的一致我默认的叫 G_T
image

phh95 commented

重新生成了一个新的 Token,权限都开了,终于可以了,谢谢 yihong 老师

重新生成了一个新的 Token,权限都开了,终于可以了,谢谢 yihong 老师

不客气

phh95 commented

又遇到一个问题了😅 gitblog 仓库用 issue 发完文章之后,Actions 运行发生了一个错误,导致无法在 readme.md 页面生成最新的 issue 文章链接,请问这是哪里出问题了呢

image

又遇到一个问题了😅 gitblog 仓库用 issue 发完文章之后,Actions 运行发生了一个错误,导致无法在 readme.md 页面生成最新的 issue 文章链接,请问这是哪里出问题了呢

image

你的 token 换了或 update 了,重新换新的 token, update secret 里的token

phh95 commented

发现是之前生成的 token 有效期为 30 天而不是长期,时间到了就失效了,问题已解决,感谢yihong老师

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成

对,放了的,所有权限也勾选了

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成

对,放了的,所有权限也勾选了

建议换个名重新配一下,必须跟 secret 里的同名。@phh95 帮看看?

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成

对,放了的,所有权限也勾选了

建议换个名重新配一下,必须跟 secret 里的同名。@phh95 帮看看?

image
😂 更新了 也是不生效,,,

@missmimia
你把这个函数删掉了

add_md_firends
phh95 commented

copy了xiang a x

我去试下,现在每次写完 issues 还要去更新 readme 好麻烦

照这个教程应该没问题。

我试了下发现木有自动更新readme.... 是我哪里漏了吗我的

需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成

对,放了的,所有权限也勾选了

建议换个名重新配一下,必须跟 secret 里的同名。@phh95 帮看看?

刚看到通知,可以参考之前写的这篇文章:phh95/gitblog#4 这篇更详细

phh95 commented

@missmimia 应该是不想要在 readme 中生成那个友情链接的表格,因此把 main.py 文件中的部分代码删除了,在前面删除了定义的 add_md_firends 函数,导致后面运行报错

image

phh95 commented

@missmimia main.py 删除 191 行中的 add_md_friends, 应该就没问题了

image

@missmimia main.py 删除 191 行中的 add_md_friends, 应该就没问题了

image

😂😂😂😂😂 删了 重新提了个issue readme也没生成目录。。

你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的https://user-images.githubusercontent.com/,这个访问很慢啊

phh95 commented

这个好像没办法改的,因为数据都是存放到了 GitHub 上,访问速度慢主要是被墙了> 你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的https://user-images.githubusercontent.com/,这个访问很慢啊

这个好像没办法改的,因为数据都是存放到了 GitHub 上,访问速度慢主要是被墙了> 你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的[https://user-images.githubusercontent.com/,这个访问很慢啊

啊这 好啵,不过他给的带宽貌似也不高。。

真不错,是否考虑使用 Milestone 功能将同类型标签的文章分类?

真不错,是否考虑使用 Milestone 功能将同类型标签的文章分类?

嗯嗯,之后考虑下

感谢 @frostming 增加了 RSS !!!
大家可以更新~

phh95 commented

感谢 @frostming 增加了 RSS !!! 大家可以更新~

怎么更新呢?

感谢 @frostming 增加了 RSS !!! 大家可以更新~

怎么更新呢?

把feed url加到rss阅读器的订阅源里即可

建议生成 feed 文件的时候设置下"pubDate"字段, 所有文章的更新时间都是一样的, 拉取展示效果不好.

github 接口返回结果中有一个 "created_at" 字段, 字段表示 issue 的创建时间.

建议生成 feed 文件的时候设置下"pubDate"字段, 所有文章的更新时间都是一样的, 拉取展示效果不好.

github 接口返回结果中有一个 "created_at" 字段, 字段表示 issue 的创建时间.

好的~ @frostming can you help for this?😄

建议生成 feed 文件的时候设置下"pubDate"字段, 所有文章的更新时间都是一样的, 拉取展示效果不好.

github 接口返回结果中有一个 "created_at" 字段, 字段表示 issue 的创建时间.

@zoroqi published已经是created_at了,注意和updated的区别,可以查看feed.xml确认这一点,你的问题只是因为rss reader是用updated展示的 或许是因为某次错误生成,rss抓取有缓存

建议生成 feed 文件的时候设置下"pubDate"字段, 所有文章的更新时间都是一样的, 拉取展示效果不好.
github 接口返回结果中有一个 "created_at" 字段, 字段表示 issue 的创建时间.

@zoroqi published已经是created_at了,注意和updated的区别,可以查看feed.xml确认这一点,你的问题只是因为rss reader是用updated展示的 或许是因为某次错误生成,rss抓取有缓存

@frostming 我使用阅读器展示的时间和"updated"一致, 应该不是缓存或错误造成的. 我需要看看阅读器有没有更多的配置了.

截屏2021-12-25 下午7 08 41

不知道为什么,总是报这个错误?是我的token不对吗?但是我已经把自己的token加进去了。不知问题出在哪里。
截屏2021-12-25 下午7 08 41

不知道为什么,总是报这个错误?是我的token不对吗?但是我已经把自己的token加进去了。不知问题出在哪里。

啊啊啊啊啊!我傻了,我以为每次写完东西需要自己去运行python呢。。。搞了半天直接网页上写好自动就更新了,牛了牛了。

Twlig commented

之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
image

之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
image

需要更新下代码,git 机制改了,我更改了 yml 文件

Twlig commented

之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
image

需要更新下代码,git 机制改了,我更改了 yml 文件

谢谢,刚刚修改了一下,成功啦!太感谢了

大佬你好,自从上次改了yml文件以后,gitblog就不会备份issue到指定文件夹并生成md文件了。整个actions运行正常,包括生成md文件,但文件夹没有文件,想请问一下如何解决呢

大佬你好,自从上次改了yml文件以后,gitblog就不会备份issue到指定文件夹并生成md文件了。整个actions运行正常,包括生成md文件,但文件夹没有文件,想请问一下如何解决呢

得建一个 BACKUP 空文件夹,里面有个空文件 .gitkeep

大佬你好,自从上次改了yml文件以后,gitblog就不会备份issue到指定文件夹并生成md文件了。整个actions运行正常,包括生成md文件,但文件夹没有文件,想请问一下如何解决呢

得建一个 BACKUP 空文件夹,里面有个空文件 .gitkeep

可以了,在git commit -a -m前面添加git add .就可以备份了。感谢

plumbum.commands.processes.ProcessExecutionError: Unexpected exit code: 128
Command line: | /usr/bin/git pull --rebase --autostash origin master
Stderr:       | fatal: detected dubious ownership in repository at '/github/workspace'
              | To add an exception for this directory, call:
              | 
              | 	git config --global --add safe.directory /github/workspace

我fork了你的这个gitblog,然后修改了token,以及把env 中的 name 和 email 改成自己的。
一开始都是好的。
现在提示这个错误。
还请指教怎么操作呢?不通过命令行,因为我从来没有用过命令行。

@zhizunbao84 如果说很久之前 fork 的需要更新到最新代码。

plumbum.commands.processes.ProcessExecutionError: Unexpected exit code: 128
Command line: | /usr/bin/git pull --rebase --autostash origin master
Stderr:       | fatal: detected dubious ownership in repository at '/github/workspace'
              | To add an exception for this directory, call:
              | 
              | 	git config --global --add safe.directory /github/workspace

我fork了你的这个gitblog,然后修改了token,以及把env 中的 name 和 email 改成自己的。 一开始都是好的。 现在提示这个错误。 还请指教怎么操作呢?不通过命令行,因为我从来没有用过命令行。

后来我删除了原来的BACKUP文件夹,重新创建,就解决了。

请教个问题,在执行workflow的时候报下面这个错误,请问怎么解决?
不好意思,暂时接不了图,错误地方在找不到repo_name.这个repo_name是从${{github.repository}}来的吗,github.repository我可以从哪里找到呢?谢谢

0s
Run source venv/bin/activate
usage: main.py [-h] [--issue_number ISSUE_NUMBER] github_token repo_name
main.py: error: the following arguments are required: repo_name
Error: Process completed with exit code 2.

@fanfan50
不是这个问题,你需要配置 GitHub token 那个 secret

@fanfan50 不是这个问题,你需要配置 GitHub token 那个 secret

谢谢博主,问题已经解决了。

给后来的朋友一个参考吧,可能是github版本的问题,我的secret目录界面和博主的不一致,最开始我乱找一通,把生成的secret放在了dependabot里了,如下图,这个是错误的。

截屏2022-08-24 07 05 10

正确的secret配置地方是下图
截屏2022-08-24 06 51 41

其实我已经知道了action是和workflow相关的,为什么不尝试看下action中的东西呢?也说明了我平时工作特别容易陷在某一个点,画地为牢,不思考。引以为戒!

图片有时候不显示,有问题的小伙伴先自己找吧,仓库-settings 下跟secrets相关的侧边目录大概是这样的:
*secrets
Actions
Dependabot

博主你好!我给你写了邮件,担心你收不到,所以在此给你留言。

按你的指导,我也开始用 GitHub Issues 写博客。但是当我「需要再次对博客进行编辑时」感觉体验很不好。
Github Issues 自带的编辑器

  1. 编辑框太小了
  2. 不是所见即所得的 Markdown 编辑器。我并不习惯在没有预览的状态下写 Markdown 语法。尤其篇幅很长,每次编辑后核实修改效果,需要切换预览状态,下拉滚动条到对应修改位置处才能看到效果。

你是怎么对博客再次编辑的,是拷贝出来到本地编辑器编辑,还是就是用 GitHub Issues 自带编辑器?

博主你好!我给你写了邮件,担心你收不到,所以在此给你留言。

按你的指导,我也开始用 GitHub Issues 写博客。但是当我「需要再次对博客进行编辑时」感觉体验很不好。 Github Issues 自带的编辑器

  1. 编辑框太小了
  2. 不是所见即所得的 Markdown 编辑器。我并不习惯在没有预览的状态下写 Markdown 语法。尤其篇幅很长,每次编辑后核实修改效果,需要切换预览状态,下拉滚动条到对应修改位置处才能看到效果。

你是怎么对博客再次编辑的,是拷贝出来到本地编辑器编辑,还是就是用 GitHub Issues 自带编辑器?

邮件回复你了~

可以把最后的数据页面显示都notion吗?

我基于gitblog建的博客,把gissue工具结合到自己的空间下,这样写博并备份都非常的方便。
感谢两个工具的大神的工作。不知道是否能进一步能利用gissue备份的zip文件,搭建博客的方法?
如果能做到博客这么方便的搬家或重建,就更完美了。
不知道你说的这个有什么更好的功能?

都是 md 文件啊,可以用任何静态博客系统,例如 hexo

hi,请问有把这个仓库独立开源的打算吗?只保留py和github workflow的部分,这样就可以单独给仓库提issue和pr了,而不会影响你的博客,fork仓库之后更新代码也会很方便~

另外,是不是其他人提issue可以污染blog呢?感觉github blog的最大问题就在这里,想了下可以通过label限制判断出是否是作者自己提交,但不是很好的方法

@Nomango 感谢,我考虑一下~

你好,按照要求改好了,actions能够正常触发,但是更新不了readme和backup,发现是推送的时候fatal了,什么原因呢,如图:
image
谢谢解答!

@HealUP 需要在 setting 里设置权限,要有 write 的权限。

@HealUP 需要在 setting 里设置权限,要有 write 的权限。
ok 啦,谢谢你谢谢你

博主你好!我给你写了邮件,担心你收不到,所以在此给你留言。
按你的指导,我也开始用 GitHub Issues 写博客。但是当我「需要再次对博客进行编辑时」感觉体验很不好。 Github Issues 自带的编辑器

  1. 编辑框太小了
  2. 不是所见即所得的 Markdown 编辑器。我并不习惯在没有预览的状态下写 Markdown 语法。尤其篇幅很长,每次编辑后核实修改效果,需要切换预览状态,下拉滚动条到对应修改位置处才能看到效果。

你是怎么对博客再次编辑的,是拷贝出来到本地编辑器编辑,还是就是用 GitHub Issues 自带编辑器?

邮件回复你了~

我也好奇这个问题,博主能介绍一下吗 @yihong0618

问题:RSS feed没有正确生成
需求:生产正确的RSS feed文件
历史操作:
第一次:只是单纯上传了main.py文件,发现RSS文件没有正确生成
第二次:修改了main.py文件中,生产RSSfeed函数的参数,将‘master’修改为‘main’ 但还是没有正确生产RSS feed文件。
这个怎么应该怎么操作呀

问题:RSS feed没有正确生成 需求:生产正确的RSS feed文件 历史操作: 第一次:只是单纯上传了main.py文件,发现RSS文件没有正确生成 第二次:修改了main.py文件中,生产RSSfeed函数的参数,将‘master’修改为‘main’ 但还是没有正确生产RSS feed文件。 这个怎么应该怎么操作呀

已解决,发现是Workflow里面的 Push README 里面的git add 没有添加 feed.xml

@yihong0618 你好, fork 的项目, 提示这个错误,

00

@yihong0618 你好, fork 的项目, 提示这个错误,

00

在里面写点东西。你这里没有 body