Hexo博客改造记

在年初搭博客的时候其实就有一堆的遗留问题,这两天一并解决了,顺带记录一下。

公式兼容

其实在上一篇的博文里我遇到一个比较蛋疼的问题是公式的显示。我所使用的Hexo主题Next是本身支持MathJax显示,只要在它原来的主题配置文件里面打开一个开关就可以了,蛋疼之处在于Hexo自己的渲染引擎和MathJax的语法冲突。因此直接替换了Hexo自带的渲染引擎,使用了Pandoc

操作也非常的无脑,首先根据Pandoc安装指南在机子上安装Pandoc

然后cd到Hexo网站根目录,卸载Hexo自带的渲染引擎

1
npm uninstall hexo-renderer-marked --save

再安装pandoc的渲染引擎

1
npm install hexo-renderer-pandoc --save

搞定

多说替换为云跟帖

我刚用多说才没几个月,它就要下线了(估计是这个项目实在赚不到什么钱吧)。能让广大群众免费这么久也是不容易,在此对多说说一声谢谢。只能说自己没有赶上好时候啊。

我想网易养猪场的云跟贴应该不那么容易倒闭吧,所以就把多说删了迁移到网易上来了(其实好像也没人评论囧),只希望对小站用户能一直免费下去吧。也是该一行代码就完事。具体参照Next第三方服务接入说明

流量统计

在流量统计上,加上了大疼讯的腾讯分析。也是在Next主题里修改一行代码就好,参照Next第三方服务接入说明

同时加上了基于LeanCloud的阅读量统计。讲真LeanCloud这家公司还是挺不错的,它的开放资源很赞,看得出来这是一家有心做事的公司。最早先的时候公司后端我曾经考虑直接架在LeanCloud上,后面因为可扩展性的考虑还是用了阿里云。现在自己的博客上搭上了它,也算是念念不忘必有回响吧。接入方法参考Next接入LeanCloud统计

Next真是便利啊!

全站https

我打算使用Let's Encrypt结合Nginx来实现全站https。根据指引直接使用了acme-nginx

安装acme-nginx

1
pip install acme-nginx

使用

1
sudo acme-nginx -d zjuturtle.com

然后修改Nginx的配置,注意这里使用重定向强制http的访问变成了https

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
# listen to 80 HTTP port
listen 80;
server_name zjuturtle.com;
return 301 https://$server_name$request_uri;
}
server {
# listen 80 default_server;
# listen [::]:80 default_server;

# SSL configuration
#
listen 443 ssl default_server;
ssl on;
listen [::]:443 ssl default_server;
ssl_certificate /etc/ssl/private/letsencrypt-domain.pem;
ssl_certificate_key /etc/ssl/private/letsencrypt-domain.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
...

最后,因为Let's Encrypt的证书3个月就过期,因此再加一个排期的任务,每月自动续签。即在/etc/下新建一个文件,填入如下内容

1
12 11 10 * * root /usr/local/bin/acme-nginx -d zjuturtle.com >> /var/log/letsencrypt.log

真的好方便。。。