背景

了解我的都知道我对页面UI很看重,自己写应用也是。丑的UI我是真的看不下去。

而这次博客替换到halo之后。在看了一些主题后,选择了Dream主题。配置一番过后发现还是hin不错的。

但是其中有几个问题,一直困扰着我。

问题:页面加载太慢

一开始页面加载实在太慢。首页进入需要10s左右。然后我就纳闷了。难道Java真不如php,毕竟我一开始用typecho可是很快的

当然,第一开始想到的就是数据库慢sql。看halo日志。果然有慢sql。

本地连接到远程数据库,把查询sql执行,发现单条查询耗时4s。本来怀疑是索引问题,一看就一个库,里面还只有3个字段,几十条的数据,那怎么可能会有慢sql嘛。

由于服务端跟数据库是在两台服务器,我本地查询也是远程连接数据库的,所以这里就怀疑是网络的问题。

登录远程服务器,连接数据库,查询发现。果然本地查询是很快的。那就是网络问题(1M带宽,而halo的页面都是通过blob直接存储)。

解决方案:将数据库迁移到同一台服务器,配置改为

r2dbc:pool:mysql://localhost:3306/halodb

这样服务查询就不存在带宽限制的问题。再次访问页面,全部加载完只需要300ms。

问题:评论样式字体与主题不一致

可以看到,我是真有强迫症。直接去提了个issue。提了之后我就一直关注,看下是否会修复。结果,几个星期后都没人修复。实在受不了了。自己把代码clone下来。改了下

最终效果如上,终于是舒服了。

问题:代码高亮插件不生效

由于主题支持了配置代码高亮,可以设置代码风格,但是死活不生效。

于是我就还是给主题提了个issue。但是还是没人解决。我就想这么明显的bug,不应该啊。

结果排查发现,halo2安装了代码高亮插件,在插件里设置开启了。覆盖了主题的配置。

直接关闭代码高亮插件即可。赶紧把对应的issue关了。丢人了😅

问题:主题最新评论不展示头像

halo2评论插件展示的头像是以第一个字母,画了个头像。

然而主题作者没做这块的功能,主要是因为主题作者原来的评论插件是填qq获取头像的。而作者不打算升级halo2,所以维护相对较慢。

但是我是真不想自己改啊,所以就提了个issue,还好此时有个热心网友,改了下提了个pr。

但是,作者不编译新版本咋办。本着能等就等的原则,等了两周,实在等不了,自己拉下来。编译上传。发现不生效(后来发现halo不知道是不是做了什么处理,一定要升级版本号,不然拉到的css都是旧的)。

但是发现这位仁兄改的跟评论组件的不一致。所以自己动手改了下,编译升级后效果。

好了,改造结束。后续升级看看作者会不会解决这个问题,不会就只能自己merge最新改动,自己打包了。

问题:瞬间点赞不生效

又发现一个问题。瞬间点赞后不生效,及点赞数不+1.

好吧。还是提个pr吧。