这个博客开源了
👍
9
因为一篇去年非常触动我的文章--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可以吗
@Aaronwn 当然可以啊。但是你还得把 .github那个文件夹拷贝过去。那个是action用的,还得生成自己的github secret token 我这里叫G_T你可以改成你自己的名字,如果有问题随时问我可以。之后你就可以写issue 打label就行。
把 todo list 放在下面了, 如果想放在最上可以修改 write md 的函数顺序
增加了一些教程。
cool,之前也想把文章整合进readme中,看到这篇文章,发现了你再底下的留言,真是太巧了吧,他这个感觉就太花哨了,你这个挺符合我的要求的,拷贝你的这些workflows yml等文件后,完美使用,只是这个
generate_readme.yml
里的:一定要改成自己的 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
@superleeyom secret的名字不同,https://github.com/superleeyom/blog/blob/main/.github/workflows/issue2md.yml中的G_T改成GT
@superleeyom @egolearner 我抽个时间看一下然后集成进去吧,应该有优化的空间。
多谢,已解决~ @egolearner
增加了 back up 功能,去掉了 kb.
@superleeyom @egolearner 整合进去了,谢谢。 更改了一些代码,把两个 Actions 整合成一个 Actions 了,也考虑到了不是 Issues 触发,变得更通用了些。
@yihong0618 cool,我试试看,哈哈
感觉commit-message的内容可以更丰富?
谢谢,应该可以,我找个时间更新下。
我去试下,现在每次写完 issues 还要去更新 readme 好麻烦
照这个教程应该没问题。
cool~
@Urchinzhou 谢谢支持。yml 中有一行你得删除 我触发2021用的, 注释中有。
想问下,我是自己创建的 blog repo。把你 repo 中的文件都复制过去了,截图中的这段需要去掉吗? 感谢老哥开源的博客
参考楼上小伙伴的 repo,已解决
去掉 curl 那句就行~这个是用来触发2021 的actions 的^_^. 很有用,有兴趣你也可以研究下哈哈。
哈哈 好勒~
fork 了你的项目之后,请问为啥顶部没有 issue 的选项卡了呢
得自己开,fork 默认是没的。
这样子,谢谢
创建了一个 issue,触发 Action 运行后提示错误,请问这个是什么地方出问题了
你得配置你的 GitHub Token, 把权限都点上,并且在 secret 里加上,且 token 名和 yml 的一致我默认的叫 G_T
重新生成了一个新的 Token,权限都开了,终于可以了,谢谢 yihong 老师
不客气
又遇到一个问题了😅 gitblog 仓库用 issue 发完文章之后,Actions 运行发生了一个错误,导致无法在 readme.md 页面生成最新的 issue 文章链接,请问这是哪里出问题了呢
你的 token 换了或 update 了,重新换新的 token, update secret 里的token
发现是之前生成的 token 有效期为 30 天而不是长期,时间到了就失效了,问题已解决,感谢yihong老师
copy了xiang a x
我试了下发现木有自动更新readme.... 是我哪里漏了吗我的
需要配置 secret GIT_BLOG 放你的 token, 参考前面如何生成
对,放了的,所有权限也勾选了
建议换个名重新配一下,必须跟 secret 里的同名。@phh95 帮看看?
@missmimia 你把这个函数删掉了
刚看到通知,可以参考之前写的这篇文章:https://github.com/phh95/gitblog/issues/4 这篇更详细
@missmimia 应该是不想要在 readme 中生成那个友情链接的表格,因此把 main.py 文件中的部分代码删除了,在前面删除了定义的 add_md_firends 函数,导致后面运行报错
@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/,这个访问很慢啊
啊这 好啵,不过他给的带宽貌似也不高。。
真不错,是否考虑使用 Milestone 功能将同类型标签的文章分类?
嗯嗯,之后考虑下
感谢 @frostming 增加了 RSS !!! 大家可以更新~
怎么更新呢?
把feed url加到rss阅读器的订阅源里即可
建议生成 feed 文件的时候设置下"pubDate"字段, 所有文章的更新时间都是一样的, 拉取展示效果不好.
github 接口返回结果中有一个 "created_at" 字段, 字段表示 issue 的创建时间.
好的~ @frostming can you help for this?😄
@zoroqi published已经是created_at了,注意和updated的区别,可以查看feed.xml确认这一点,
你的问题只是因为rss reader是用updated展示的或许是因为某次错误生成,rss抓取有缓存@frostming 我使用阅读器展示的时间和"updated"一致, 应该不是缓存或错误造成的. 我需要看看阅读器有没有更多的配置了.
啊啊啊啊啊!我傻了,我以为每次写完东西需要自己去运行python呢。。。搞了半天直接网页上写好自动就更新了,牛了牛了。
之前还能运行的,突然就报错了,有大佬看看怎么解决吗?
需要更新下代码,git 机制改了,我更改了 yml 文件
谢谢,刚刚修改了一下,成功啦!太感谢了
大佬你好,自从上次改了yml文件以后,gitblog就不会备份issue到指定文件夹并生成md文件了。整个actions运行正常,包括生成md文件,但文件夹没有文件,想请问一下如何解决呢
得建一个 BACKUP 空文件夹,里面有个空文件 .gitkeep
可以了,在git commit -a -m前面添加git add .就可以备份了。感谢
我fork了你的这个gitblog,然后修改了token,以及把env 中的 name 和 email 改成自己的。 一开始都是好的。 现在提示这个错误。 还请指教怎么操作呢?不通过命令行,因为我从来没有用过命令行。
@zhizunbao84 如果说很久之前 fork 的需要更新到最新代码。
后来我删除了原来的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
谢谢博主,问题已经解决了。
给后来的朋友一个参考吧,可能是github版本的问题,我的secret目录界面和博主的不一致,最开始我乱找一通,把生成的secret放在了dependabot里了,如下图,这个是错误的。
正确的secret配置地方是下图
其实我已经知道了action是和workflow相关的,为什么不尝试看下action中的东西呢?也说明了我平时工作特别容易陷在某一个点,画地为牢,不思考。引以为戒!
图片有时候不显示,有问题的小伙伴先自己找吧,仓库-settings 下跟secrets相关的侧边目录大概是这样的: *secrets Actions Dependabot
博主你好!我给你写了邮件,担心你收不到,所以在此给你留言。
按你的指导,我也开始用 GitHub Issues 写博客。但是当我「需要再次对博客进行编辑时」感觉体验很不好。 Github Issues 自带的编辑器
你是怎么对博客再次编辑的,是拷贝出来到本地编辑器编辑,还是就是用 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了,什么原因呢,如图:
谢谢解答!
@HealUP 需要在 setting 里设置权限,要有 write 的权限。
我也好奇这个问题,博主能介绍一下吗 @yihong0618
问题:RSS feed没有正确生成 需求:生产正确的RSS feed文件 历史操作: 第一次:只是单纯上传了main.py文件,发现RSS文件没有正确生成 第二次:修改了main.py文件中,生产RSSfeed函数的参数,将‘master’修改为‘main’ 但还是没有正确生产RSS feed文件。 这个怎么应该怎么操作呀
已解决,发现是Workflow里面的 Push README 里面的git add 没有添加 feed.xml
@yihong0618 你好, fork 的项目, 提示这个错误,
在里面写点东西。你这里没有 body
我把账号密码 发了邮件, 希望大佬能帮我看看
配置新的 secret 需要有写的权限。GitHub Actions 也要添加写的权限
@yihong0618 我把账号密码 发了邮件, 希望大佬能帮我看看
https://github.com/geoqiao/geoqiao.github.io/issues/8 看起来是函数运行的时候参数没对,可以参考这个看一下。
@yihong0618 @geoqiao 谢谢两位, 已经可以了
@yihong0618 可以更新一下ACTIONS的权限,使用
permissions: write-all
就不需要另外在配置secret 了。可以参考我的博客框架Gmeek里面的代码43行和77行:https://github.com/Meekdai/Gmeek/blob/a0deea45846cd274e0f9ea1a06324c2f3e3a9995/CONIFG.md?plain=1#L43 https://github.com/Meekdai/Gmeek/blob/a0deea45846cd274e0f9ea1a06324c2f3e3a9995/CONIFG.md?plain=1#L77
有没有办法本地写issues?感觉GitHub还不是特别方便
本地写完粘上,图片得特殊处理
issue里的笔记发布之后如果进行更改的话,备份的md文件不能更新吧
更新。
@yihong0618 @YuanJ2003 推荐一个 VSCode 插件,可以利用 Github API 在本地写完直接推送 issue https://github.com/Aaronphy/Blogger.git
你好,博主。我不太理解为什么github 存在的时间一定比腾讯 、 亚马逊 、Facebook的时间要长呢?这个有什么说法?或者github有什么特殊之处吗?
因为后面的一切都是代码做的
谢谢回复
你好,博主,想问一下我为什么没有生成主页README文件
![Uploading 1704338121052.png…]()
@mattheliu 可能你 actions 没跑
@mattheliu 嗯。。你需要复制我的 README 再跑一次,因为他找不到 README 和找不到里面需要替换的字符所以没成功。 你可以研究下代码就懂为什么了
非常感谢博主,解决了!
我捣鼓了两个小时才发现是因为权限没开通,建议加到教程里。。再次谢谢大佬
好的,谢谢。
大佬,我写完issue检查action发现有个报错,可是不太懂,我这部分没有修改,不知道那里出了问题,麻烦解答一下。谢谢。
15行jobs: sync: name: Generate README runs-on: ubuntu-latest if: github.repository_owner_id == github.event.issue.user.id || github.event_name == 'push' 20行 steps: Check failure on line 20 in .github/workflows/generate_readme.yml
GitHub Actions / .github/workflows/generate_readme.yml Invalid workflow file You have an error in your yaml syntax on line 20 - name: Checkout uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4
看报错好像是user.id没识别对,可以排查下:
Push README
部分跟原来的写法不太一样如果你的
Push README
写法对的话,是不是缩进有问题 不太懂 GitHub Action ,希望能有帮助竟然是缩进,现在没有报错了,可是backup中也没有出现issue新增的md文件,在readme中也没看到关联,git用的不熟悉
参考楼上的评论,你如果你不太明白原来你需要先用我的 README
感谢开源,非常👍🏻~~ 我简单整理下搭建步骤和一些典型问题,可供后来人参考 https://github.com/humyna/gitblog/issues/1
这是最近发现的一个非常棒的repo!加油 @yihong0618 💪🏻
没设置 secret
您好,看图,其中两服务没有运行成功?
看起来是GitHub pages的仓库没有建
不是,你需要在 setting 里把 GitHub page 打开,并且选择 actions
多谢指点,我去试下。
可以暂时忽略这个
谢谢大家了
博主好,我如果用xxx.github.io这样的仓库,主页的排班会乱,是不是需要改一些路径。谢谢。
博主 您好!
我试着把仓库地址改为了
xxx.github.io
这样的,但是右上角的链接多了一个/
,链接变为了xxx.github.io//about
这种,不知道在我在哪个文件可以改下。谢谢了。
打扰大家了,问题解决了。
谢谢了。
好的抱歉回复晚了,想着下周看下的
hi. 我搭建了你这个博客程序:https://luckypoem.github.io/gitblog-by-yihong0618/,不过里面的链接仍是你的域名。我在此https://github.com/luckypoem/gitblog-by-yihong0618/blob/master/.github/workflows/generate_site.yml 做了相应的修改,怎么https://luckypoem.github.io/gitblog-by-yihong0618/ 里面的链接仍是你的域名呢? 谢谢回复 @yihong0618 在第36行,做了修改
setting 里和 actions 都得改
@yihong0618 "setting里”是指https://github.com/luckypoem/gitblog-by-yihong0618/blob/master/config.toml吗?我做了相应的修改,但是还是不行。 谢谢回复!
哦,要在gh-pages分支里修改 https://github.com/luckypoem/gitblog-by-yihong0618/blob/master/config.toml 才行。
@yihong0618 不过你这个程序好像有个bug:任何人都能在这里https://github.com/luckypoem/gitblog-by-yihong0618/issues 提交issue而且所提交的issue的内容会出现在我的博客https://luckypoem.github.io/gitblog-by-yihong0618/ 里,比如此帖 https://luckypoem.github.io/gitblog-by-yihong0618/issue-12/ 就是用我的另一个账号briteming提交的issue内容(我首先登录我的账号luckypoem. 我并未登录账号briteming)。如何阻止这现象的发生?我观察了别的github issues-based blog程序,它们是用添加labels的办法解决的,你是否也可考虑用此办法?
另外,我关闭了此issue: https://github.com/luckypoem/gitblog-by-yihong0618/issues?q=is%3Aissue+is%3Aclosed ,为何它对应的帖子https://luckypoem.github.io/gitblog-by-yihong0618/issue-13/ 并未消失(依然可以打开该帖子)?
不会,代码里有判断是不是自己 不考虑,你喜欢那种方式可以自己改代码 关闭 issue 得重新 trigger
hi. "代码里有判断是不是自己的“,怎么判断? 请看此图:
fork的项目https://github.com/luckypoem/gitblog-by-yihong0618/ 的owner是luckypoem,但是非owner用户briteming发布了issue: https://github.com/luckypoem/gitblog-by-yihong0618/issues/12 ,而此issue的内容仍然进入了博客: https://luckypoem.github.io/gitblog-by-yihong0618/issue-12/
好像没有做出区分而予以阻止非owner用户发布的issue内容进入博客,谢谢回复
你给关了就行了啊。
我指的是首页 README 有判断是不是自己,发布的网站目前没有。
之所以非owner用户提交的issue的内容能进入博客,就是因为发布issue时,没有要求添加label以阻止非owner用户提交的issue的内容进入博客。原理就是只有owner用户发布issue时,有添加label的权限;非owner用户发布issue时,没有添加label的权限。所以发布issue时,如果要求添加label,就可以阻止非owner用户提交的issue的内容进入博客。所以这确实是个bug/缺陷。
博主的idea真的忒牛!!收益匪浅啊。 博主的网站是使用Zola部署的,我试着模仿一下,也提供一种使用Hexo部署的方式:https://wqhuanm.github.io/Issue_Blog/2024/12/22/2_%22%E8%AE%A9%E5%86%99blog%E7%9A%84%E4%BA%BA%E4%B8%93%E6%B3%A8%E4%BA%8Eblog%EF%BC%8C%E5%AE%9E%E7%8E%B0%E5%85%A8%E8%87%AA%E5%8A%A8issue_blog%EF%BC%8Cuse%EF%BC%9AIssue.+.Hexo.+.Github.Action%22/
您好,这个pages页面能自定义下吗?
没懂,哪块自定义
哈哈,就是换个背景,字体一类的。比如换个主题。
新年快乐!心想事成!
您好,最近更新出现了这个错误,不能输出道pages
deploy This request has been automatically failed because it uses a deprecated version of
actions/upload-artifact: v3
. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/修复了,麻烦更新下代码
快乐
谢谢。
好像还是有问题。
还得更新一次