引子
disqus太笨重了。
都有服务器了,为什么不本地搭一个评论系统呢?
除此之外,很多动画效果本可以不要,为什么不把加载这些JS文件的时间省掉呢?
加速
这一步其实没什么可说的,把velocity相关的js文件删掉,然后哪里报错改哪里,不会改就vibe一个。
把velocity动效、firework爆竹效果和其它几个没用的脚本从代码中删掉了。
顺便修改一下带来的副作用——搜索和跳转失效(which will be updated later)。
Artalk评论
Artalk服务器端配置
参考https://artalk.js.org/zh/guide/deploy.html#docker-compose进行配置,先在我的Ubuntu上安装docker,然后写一个脚本:
docker run -d \
--name artalk \
-p 8080:23366 \
-v $(pwd)/data:/data \
-e "TZ=Asia/Shanghai" \
-e "ATK_LOCALE=zh-CN" \
-e "ATK_SITE_DEFAULT=xxxxxx" \
-e "ATK_SITE_URL=https://coderlock.site" \
artalk/artalk-go启动,下载镜像,然后:
docker exec -it artalk artalk admin配置邮箱、用户名和密码,密码直接用密码生成器生成。
最后配置一下nginx的反向代理:
location /artalk/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}启动镜像:
docker start artalk大功告成。
Artalk客户端配置
首先通过npm安装Artalk:
npm install Artalk在博客的node_modules中,修改hexo-theme-melody,添加Artalk支持。这个库主要是pug和styl,而且我根本不知道这两个东西怎么写,所幸在layout/includes/comments下面有其它评论系统的实现,照葫芦画瓢vibe一个即可,直接硬编码:
if theme.artalk.enable
#Comments
script.
var artalk = Artalk.init({
el: '#Comments',
pageKey: location.pathname,
pageTitle: '',
server: 'https://www.coderlock.site/artalk',
site: '寒夜雨',
})然后在layour/includes/head.pug下增加:
if (theme.artalk && theme.artalk.enable)
script(src="https://www.coderlock.site/artalk/dist/Artalk.js")
link(href='https://www.coderlock.site/artalk/dist/Artalk.css', rel='stylesheet')随后配置邮箱即可。