发现新文章

我们已经通过 Google Adsense 审核!不出意外,在未开启广告拦截器的情况下,应该已经可以看到广告了

如果您对广告位置不满意(如:占据面积大,挡住主要内容等情况),请前往 置顶文章 告知我们!

441 字
2 分钟
利用WebHook来为你的订阅者推送文章更新信息
针对于静态博客,博主在文章更新后一般需要手动通知订阅者阅读新的文章,本文通过WebHook来实现一个全自动的文章更新通知
2025年5月19日
0 次

原理解析#

静态博客一般会托管在Github来方便静态网站构建服务提供商进行自动构建和发布站点。

我们可以通过 WebHook 在文章更新后自动通知订阅者。但单一 WebHook 有各自的缺陷:

WebHook 类型优点缺点
Github WebHook能检测文件变动,知道哪些文章更新了不知道构建时长,需要设置保守延迟
Netlify WebHook构建完成后通知,时机精准不能检测文件变动

最佳方案是 两者结合使用,工作流为:

PushGithub WebHook 通知Bot(记录变动文章)Netlify WebHook 通知构建完成Bot 即刻推送文章更新消息

正式开始#

设置你的自托管WebHook接收器#

我使用Koishi编写一个插件创建一个HTTP服务器用于接受WebHook,并且在接收到指定提交信息的WebHook后将在2分钟后在我的群里广播文章更新消息

如果你的服务在内网,可以使用Cloudflared将WebHook接收服务器开放到公网。否则Github将无法将WebHook信息发送到你的服务

配置Github Repo WebHook#

打开你的博客仓库,在仓库设置找到WebHooks

添加一个新的WebHook,如图设置

配置Netlify WebHook#

如果你的站点部署在 Netlify,可以进一步配置构建完成通知。

添加HTTP POST钩子

创建一个部署成功钩子

Bot端配置#

设置一个双监听WebHook服务器,同时接受Github和Netlify的WebHook

开发测试#

在你的博客仓库进行一次Push操作,检查是否收到了WebHook信息并且分析信息配置你的WebHook接收器做后续操作

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页

文章修订历史 (13 次)

查看变更记录
2025年8月1日 08:16:25 2f74587

!update: 将图源由R2改为Netlify

2025年7月26日 09:15:27 98609b5

feat: 更改域名为2x.nz

2025年7月19日 16:52:49 146fe9b

更改图源为EdgeOne

2025年7月19日 16:09:57 9bf0d90

chore: 更新图片域名从eo-r2.2x.nz到r2.afo.im

2025年7月19日 15:18:58 f5afef1

更改图源为EdgeOne

2025年7月18日 12:27:16 c7e56a3

1

2025年7月1日 23:29:28 4e3e7e8

posts: 更改图源CDN为Secbit MCDN,并且页脚放置赞助信息

2025年6月26日 21:07:29 b480111

update: 更新R2源。删除302

2025年6月25日 00:10:13 e2d1f68

update: 更新R2源

2025年5月22日 11:29:12 1677ce0

更新图片链接,修正资源地址

2025年5月19日 12:48:22 95dc971

posts: 发布文章:利用Github Repo WebHook来为你的订阅者推送文章更新信息

2025年5月19日 12:24:23 ab46bf8

posts: 测试2

2025年5月19日 12:21:47 da03de9

posts: 测试

利用WebHook来为你的订阅者推送文章更新信息
作者
二叉树树
发布于
2025年5月19日
许可协议
CC BY-NC-SA 4.0