gitalk导致邮箱被GitHub轰炸的解决方法(更新gitalk至1.5.2)
lyq1996

打理博客

想起有段时间没有写博客了,今天特意早上8:00AM就起来打理一下。

Cloud Stduio

首先是Cloudstudio,之前一直在这上面用hexo写博客,然后deploy到github的私人仓库里,在服务器上利用webhook自动拉取博客更新。

今天打开https://cloudstudio.net/,发现不可以用自己的账号登录,只能用团队登录。查了下,发现个人版的在2020/1/31日停止服务了,但实际上还可以用,用这个网址可以登录:https://studio.dev.tencent.com/

但避免以后有更多的问题,还是迁移一下吧。
https://cloudstudio.net/docs/others/migration-from-3.x.html

这个教程做的真的是烂,“点击下载”不管用不说,“Key迁移也不行”,去你🐎的。

解决方法

重新安装hexo,重新拉取博客源码。

邮件被Github轰炸

image
具体我也没仔细看,不知道讲的什么🕊东西,但它三天发一次,实在不能忍。

由于我用的是icarus主题,跑去主题的issues看了下,有人提了。
https://github.com/ppoffice/hexo-theme-icarus/issues/614

看起来是因为Github希望我们使用Basic Authentication而不是OAuth credentials作为API的查询参数,gitalk的1.5.2版本已经修复了,1.5.1临时使用accessToken,见这里,1.5.2完全修复,见这里

因此我们只需要更新gitalk即可。

更新gitalk

打开
blog/themes/icarus/layout/comment/gitalk.ejs

第9、10行修改为

1
2
<%- _css(cdn('gitalk', '1.5.2', 'dist/gitalk.css')) %>
<%- _js(cdn('gitalk', '1.5.2', 'dist/gitalk.min.js')) %>
1
hexo clean && hexo g

调试

由于hexo环境是新的,因此,之前的博客public文件夹的git记录全部是没有了,push到github也是强制push的,因此webhook没有生效,打开response看下是什么原因。

1
2
3
4
5
6
7
{
"push-lyq1996.github.io-master": {
"returncode": 128,
"stderr": "From github.com:lyq1996/lyq1996.github.io\n 2130e1c..952591d master -> origin/master\nfatal: refusing to merge unrelated histories\n",
"stdout": ""
}
}

refusing to merge unrelated histories,很明了,git的记录对不上,因此我修改了webhook的执行脚本(每次GitHub有push操作,执行的脚本)。

1
2
3
#!/bin/sh
cd /var/www/blog
git pull

修改后

1
2
3
4
cd /var/www/blog
git fetch --all
git reset --hard origin/master
git pull

确实,这种自动化部署的,应该强制pull。

最后结果当然是邮箱不再被轰炸。但也还没考证,因为鸡贼的Github在邮件里说

1
Depending on your API usage, we'll be sending you this email reminder at most once every 3 days.

image

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务
访客数 访问量