博客系统更新相关

2022-04-24:

时间过去也真是快,几年时间之后,所有曾经预置和努力过的评论系统都已经无效了;最后来加进去的Livere虽然可以用,但是速度并不理想,而且,会随机的加入(很难看的)广告块;最后还是下定决心改成了Gitalk,简单说来,就是利用Github的issue体系来做评论系统,就是利用一个镜像的repo里的issue,用issue来作为所link的原文章的评论,缺点主要有两个

  • 必须要登录Github才能留言;(这个没法规避了,只能说,给有心人吧)
  • 每篇文章都需要管理员(一般就是blog的拥有人)来刷新blog文章页面之后,触发一个建立issue的动作;

手动初始对于新文章来说一般不是问题,因为Jekyll的用户我想大部分都会习惯于写完之后至少看下效果吧?而只要打开在线页面,都会自动触发一个初始化评论的动作,所以我甚至原本打算做一个github action来自动触发的想法,后来也都放弃了,觉得性价比太低了,没有太多必要;

可是,这一个问题对于有着许多老的文章(比如本人就有六百+的文章)的用户来说,就比较痛苦了。总不能每篇都去点开看吧。

所以,我就在这里放了一个python脚本, autoissue.py (在https://github.com/shinemoon/shinemoon.github.io的根目录下), 只要安装一下requests的包之后,在本地的repo内,执行 python autoissue.py scanAllPosts这个指令,就会自动扫描_posts目录,然后试图根据文章信息创建所有的评论issue(当然,会自动检查是否已经存在),其中主要参考借鉴了LinuxShell的这篇文章和代码

当然,还有就是需要把根目录下的config.ini.template复制一个config.ini并且把配置里的内容换成自己的配置,其余的配置大部分不变,只是注意,

  • repo_name指的是评论系统的repo,
  • 域名要有最后的/,
  • 以及,千万记得不要把包含了自己token的本地config文件不小心放到了git内,务必记得.gitignore里筛出。

当然,如果并不是和我的Jekyll一模一样,例如,label生成的规则不同、link产生的规则不同,那就需要到python文件里自己酌情修改一下了。

目前来说比较满意。

生成评论的过程中,随即被刷出来的老文章让人心潮澎拜。
24 Apr 2022 , 写毕。