hexo建站程序
hexo
是一个静态网站生成器,可直接把网站内容以html
页面生成好。不同于动态网站,在你访问的时候由服务器端生成好html
页面然后发送到客户端。
类似于hexo
这样的网页生成器还有hugo
,但hugo
的效率可比hexo
高多了,要是有上百篇文章的话,hexo
生成要等上十来秒钟或者更久,而hugo
只需两三秒钟。
虽然hexo
比不上hugo
的效率,但hexo
的主题可比hugo
多太多了。一般玩博客的个人站长,在最初期90%
都很重视主题,不管是动态博客还是静态博客,无一不是如此。
因此造就了主题丰富者更容易受到用户青睐,至于内容,长期坚持写的也寥寥无几。就拿自个来说,都有三个月没有更新过了。想来成年人的世界,要坚持一件兴趣不高或者没有兴趣的事情,是太不容易了。
hexo主题更新
静态博客不比动态博客,更新主题什么的相对麻烦。这个麻烦是指静态程序得手动更新博客主题的配置文件,如果主题作者改动较大,或者你自己N久没有更新主题,可能会遇上不少麻烦。
动态网站如WordPress
就比较好办,因为动态网站都是带有数据库系统的,很多东西如站点标题,网站描述等,都是写入到数据库中,更新的只是程序文件,对比静态网站较为方便。
而静态网站是没有数据库的,一切都是在本地生成好了上传到对象存储即可使用。因此在更新主题的时候,如站点名称,网站描述这些都是在主题配置文件中,需要你去修改的。尽管hexo带有主题配置文件_config.yml
和站点配置文件_config.yml
,依旧免不了逐字逐句去修改配置文件。
所以说静态网站更新主题是一件想对麻烦的事情,同样麻烦是还有静态网站生成器的程序,比如我现在用的是hexo4.0
,现在最新版是hexo4.21
,差别倒是不大,如果你是从2.x
的版本直接升级到4.x
的版本,夸度较大,可能还会面临其他问题,而如果这个时候你使用的主题作者已停止更新,可能会造成不兼容,还得更换主题。当然这个问题,动态网站也是存在的,比如php5.6
升级到php7.3
可能就会造成旧版主题不适配的情况。
第三方评论系统
我已经大半年没有更新主题了,其实时间也不算长,尽管此主题作者新版本改动了页面布局,似乎更美观。但如上所述,更新主题过于麻烦,因此我没有任何更新的动力,而且自己也过了那个折腾劲的年龄段,精力着实有限。
但最近问题出现在第三方评论系统valine
,第三方评论系统无法正常留言。虽然本站文章内容少,至今也没一个留言的,但不能使用总感觉不爽。自己又不是搞开发的,也不懂是哪里出问题,摸索了大半小时后感觉可能是主题的问题。
情况大概是这样的,LeanCloud
可能更新了某些设置或者链接不可使用,导致某个链接不能正常加载。于是我想着不更新主题,直接更新valine
评论系统,结果发现问题依旧,而valine
在4月26号有过更新。因此怀疑是主题没有更新造成的
我也不清楚是什么时候出现这个问题的, 感觉也就一个月左右的事吧。于是更新了主题,结果发现问题依旧,再看主题更新时间为4月11号,故此这个问题只能等作者更新解决。
晚上自己又多测试了几遍,排除了主题问题,而是LeanCloud
华东节点引起的,然后想切换到华北节点,结果发现要验证手机号,验证好手机号后创建应用又需要实名认证,这个就有点烦了,万一实名认证又不能搞定呢?为了保险起见,我单独注册了个国际版的LeanCloud
,结果再次验证手机号后不需要实名认证,本地测试发现tab.avoscloud.com
已经改为us.avoscloud.com
,那就应该是OK的。
我在看别人用的这个评论系统发现加载的都是avoscloud.com
,说明就是华北节点,而我之前创建的是华东节点,因此导致这个问题,tab.avoscloud.com
证书过期都没人处理。
后发现是域名更换了,从https://tab.avoscloud.com
换到https://tab.leancloud.cn
,好吧!而现在却又可以访问此域名并且还能登录,不知道为什么要搞这一下。
也不想把valine
更换为来比力
,gitalk
,disqus
等第三方评论系统,主要是因为valine
评论比较方便,甚至都可以不用填写邮箱,而另外一些要不就需要账户登录,要不就在国内访问不稳定。另外valine
可结合LeanCloud
使用,评论数据还在自己手中掌握。
后面发现主题作者新增了迷你版的valine
,启用这个倒是没啥问题,但看页面请求数达到了60多个,尽管很多都是表情图片的请求数,倒是很想把表情给禁用掉,无奈又不懂JavaScript
,最后决定取消评论功能 既然解决了评论问题,那么还是保留此功能吧。
2020年09月23日,国际版的域名us.avoscloud.com
在国内外均无法ping
通,leancloud
的域名总是换来换去的,太影响体验了。看leancloud
官方的回复是在5月份的时候已经说us.avoscloud.com
是老域名,未来计划下线,那么valine应该在此后就更新一版,也就不会有这么大影响了。
最后自己对Valine.min.js
文件做了修复,替换域名为console.leancloud.app
即可。
2021年12月18日我才发现,leancloud
国际版的域名又变动了,估计在11月底应该就变动了,只是近来都没有注意,也没那么多时间精力去留心。解决的方法倒也不难,把数据导出,用国内的版本即可,但国内版本需要实名制。
故此,另一个办法就是配置主题文件_config.yml
中的serverURLs:
字段后添加域名,域名为https://leancloud的AppID的前8位字符.api.lncldglobal.com
,如果你的主题配置文件没有这个字段,那么还需要修改主题源文件,一般为serverURLs: '<%= theme.valine.serverURLs %>'
,至于写在哪个文件中,就视主题而定了。如果还不行,那么考虑一下是不是主题引入的av-min.js
版本太老了的缘故。