关于我的博客从腾讯云迁移至github以及评论插件valine切换到gitalk的一些琐事

为什么不用腾讯云而换github了?

最初最初有搭建博客的想法时,是采用腾讯coding的服务,代码和静态页面服务coding pages都在同一个仓库,那会是通过hexo老三套命令进行渲染和发布页面,然后按照教程将自己的域名解析到coding服务上,就可以实现页面访问了
后来coding的业务似乎一直在进行变化,曾经做好的配置直接失效,需要按照coding提供的最新教程重新做配置,而且却来越复杂,到今年,腾讯直接把coding的服务入口下线了,之前的服务还是保留,但是就是没法通过coding的静态页面入口进行配置了(当然可以花钱购买他们新的静态页面服务)
所以我决定迁移到更加灵活的github上,利用github的pages功能,代码放在私有仓库,hexo deploy的页面放在公共仓库,这样可以防止敏感数据泄漏,还可以利用到gitHub的actions工作流进行自动部署,可以说是很方便了,而且github绑定自定义域名不需要购买会员(没错,说的就是你,gitee),也不需要做认证和备案(个人觉得很爽),唯一一个不好就是服务器在境外,可能会受网络影响

为什么要切换评论插件valine到gitalk?

最开始是通过valine + leancloud进行博客文章的评论功能,但是leancloud十分不稳定,最近直接域名无法解析,导致博客评论无法展示
所以本着简洁省事的原则,找了个更古老的方案,就是使用gitalk,美观又优雅,但是需要登陆github账号才可以评论,而且发表文章后需要手动进行评论初始化才能进行评论

其实gitalk的原理就是在仓库里面建issue,gitalk通过把文章标题进行md5编码,然后通过github的api创建一个issue并给他加上这个md5编码的tag,通过一个md5编码和Gitalk的tag来关联到一篇文章上,issue下面的评论会被gitalk展示到评论区
当然也不是必须要手动初始化,也可以把初始化的功能做到github actions的脚本里,当静态页面部署完,就跑一遍自动创建issue的脚本,做到真正的自动化,之后出一篇文章说一下自动化的相关内容,可以做到文章推送到master后,自动渲染页面并推送部署github pages,自动初始化新文章的评论区的效果