gitblog
gitblog copied to clipboard
这个博客开源了
因为一篇去年非常触动我的文章--People Die, but Long Live GitHub 我决定不再用纸笔写日记,进而全部转到 GitHub 上。如果你看到这个,这个其实不是那些大牛的技术博客,而是单纯的碎碎念偶尔认真的记录自己而已。
虽然如此但也经历了几个阶段
- 纯粹的写issue
- 写完issue后添加目录到README
- 改成webhook用flask部署个callback 每次写完issue自动生成新的 README
- 最近算是学会了一些 GitHub Actions,现在只需要写 issue 打 label 就好了,其余完全不用管。核心代码在 main.py
- 支持了 RSS
如果你也想自己写issue博客,并自动生成README,你可以参考如下步骤
- fork this repo (or just copy the file whatever)
- change GitHub secret
- write issue and add label
- please delete all files in BACKUP folder(2020.11.26 add)
- 别忘了在 settings 里打开 Actions 读写的权限
关于如何生成 GitHub secret token

- 在这里 点击
generate new token把需要的点上 - 在你的repo 中更改 secret 中把刚生成的token设置进去

- 更改workflow中的token name 换成你自己的(不要忘了secrets 点)

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

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/[email protected]
with:
github-token: ${{ secrets.G_T }}
commit-message: "Refresh README"
files: README.md
rebase: 'true'
name: superleeyom
email: [email protected]
一定要改成自己的 name 和 email,否则就会以当前 name 的用户更新 README.md,我拷贝过来后忘记改了,然后恭喜 @yihong0618 成为我 blog 仓库的 contributor,哈哈,记得改过来就行
@superleeyom 世界真小。我当时看到他那个了。当时还没有actions, 我决定自己写,用的hooks,后来有actions了改的actions哈哈。
@superleeyom 这个有 TODO 和 TOP 的特殊标签,可以方便使用。
@yihong0618 nice👍
@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
@egolearner cool~
就是说,可以把issue转为markdown进行备份吗? @egolearner
@superleeyom 对
@egolearner 我刚试了下,似乎失败了,提示截图如下:
我将 issue2md.py 和 issue2md.yml 分别拷贝到了我的仓库
找到问题了,是 issue2md.yml 里的路径弄错了,因为我直接贴到跟目录,没有 tools 目录,去掉就ok,但是又出现另外一个错误:

手动触发执行的action,跟这个有关系吗?
@egolearner
@superleeyom 这个脚本在issue创建或更新的时候执行,将单个issue保存为md提交到repo中 你可以编辑一个issue试试 手动执行应该获取不到issue number
好像还是不行哎,是我哪里的配置不对吗? @egolearner
@superleeyom secret的名字不同,https://github.com/superleeyom/blog/blob/main/.github/workflows/issue2md.yml中的G_T改成GT
@superleeyom @egolearner 我抽个时间看一下然后集成进去吧,应该有优化的空间。
@superleeyom secret的名字不同,https://github.com/superleeyom/blog/blob/main/.github/workflows/issue2md.yml中的G_T改成GT
多谢,已解决~ @egolearner
增加了 back up 功能,去掉了 kb.
@superleeyom @egolearner 整合进去了,谢谢。 更改了一些代码,把两个 Actions 整合成一个 Actions 了,也考虑到了不是 Issues 触发,变得更通用了些。
@yihong0618 cool,我试试看,哈哈
感觉commit-message的内容可以更丰富?
感觉commit-message的内容可以更丰富?
谢谢,应该可以,我找个时间更新下。
我去试下,现在每次写完 issues 还要去更新 readme 好麻烦
我去试下,现在每次写完 issues 还要去更新 readme 好麻烦
照这个教程应该没问题。
cool~


想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗? 感谢老哥开源的博客
参考楼上小伙伴的 repo,已解决
![]()
想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗? 感谢老哥开源的博客
去掉 curl 那句就行~这个是用来触发2021 的actions 的^_^. 很有用,有兴趣你也可以研究下哈哈。
想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗? 感谢老哥开源的博客
去掉 curl 那句就行~这个是用来触发2021 的actions 的^_^. 很有用,有兴趣你也可以研究下哈哈。
哈哈 好勒~
fork 了你的项目之后,请问为啥顶部没有 issue 的选项卡了呢
得自己开,fork 默认是没的。
这样子,谢谢
创建了一个 issue,触发 Action 运行后提示错误,请问这个是什么地方出问题了

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

重新生成了一个新的 Token,权限都开了,终于可以了,谢谢 yihong 老师
重新生成了一个新的 Token,权限都开了,终于可以了,谢谢 yihong 老师
不客气
又遇到一个问题了😅 gitblog 仓库用 issue 发完文章之后,Actions 运行发生了一个错误,导致无法在 readme.md 页面生成最新的 issue 文章链接,请问这是哪里出问题了呢

又遇到一个问题了😅 gitblog 仓库用 issue 发完文章之后,Actions 运行发生了一个错误,导致无法在 readme.md 页面生成最新的 issue 文章链接,请问这是哪里出问题了呢
你的 token 换了或 update 了,重新换新的 token, update secret 里的token
发现是之前生成的 token 有效期为 30 天而不是长期,时间到了就失效了,问题已解决,感谢yihong老师
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 帮看看?
😂 更新了 也是不生效,,,
@missmimia 你把这个函数删掉了
add_md_firends
copy了xiang a x
我去试下,现在每次写完 issues 还要去更新 readme 好麻烦
照这个教程应该没问题。
我试了下发现木有自动更新readme.... 是我哪里漏了吗我的
需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成
对,放了的,所有权限也勾选了
建议换个名重新配一下,必须跟 secret 里的同名。@phh95 帮看看?
刚看到通知,可以参考之前写的这篇文章:https://github.com/phh95/gitblog/issues/4 这篇更详细
@missmimia 应该是不想要在 readme 中生成那个友情链接的表格,因此把 main.py 文件中的部分代码删除了,在前面删除了定义的 add_md_firends 函数,导致后面运行报错

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

@missmimia main.py 删除 191 行中的
add_md_friends,应该就没问题了
😂😂😂😂😂 删了 重新提了个issue readme也没生成目录。。
你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的https://user-images.githubusercontent.com/,这个访问很慢啊
这个好像没办法改的,因为数据都是存放到了 GitHub 上,访问速度慢主要是被墙了> 你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的https://user-images.githubusercontent.com/,这个访问很慢啊
这个好像没办法改的,因为数据都是存放到了 GitHub 上,访问速度慢主要是被墙了> 你好 我发现github issues里面贴的图片会把你自己的图床给转成github的,这个可以禁止吗,域名是这样的[https://user-images.githubusercontent.com/,这个访问很慢啊
啊这 好啵,不过他给的带宽貌似也不高。。
真不错,是否考虑使用 Milestone 功能将同类型标签的文章分类?
真不错,是否考虑使用 Milestone 功能将同类型标签的文章分类?
嗯嗯,之后考虑下
感谢 @frostming 增加了 RSS !!! 大家可以更新~
感谢 @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"一致, 应该不是缓存或错误造成的. 我需要看看阅读器有没有更多的配置了.
不知道为什么,总是报这个错误?是我的token不对吗?但是我已经把自己的token加进去了。不知问题出在哪里。
![]()
不知道为什么,总是报这个错误?是我的token不对吗?但是我已经把自己的token加进去了。不知问题出在哪里。
啊啊啊啊啊!我傻了,我以为每次写完东西需要自己去运行python呢。。。搞了半天直接网页上写好自动就更新了,牛了牛了。
之前还能运行的,突然就报错了,有大佬看看怎么解决吗?

之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
需要更新下代码,git 机制改了,我更改了 yml 文件
之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
需要更新下代码,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文件夹,重新创建,就解决了。
