【网站更新记】更新:加速和更新评论系统为Artalk

引子

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,然后写一个脚本:

1
2
3
4
5
6
7
8
9
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

启动,下载镜像,然后:

1
docker exec -it artalk artalk admin

配置邮箱、用户名和密码,密码直接用密码生成器生成。

最后配置一下nginx的反向代理:

1
2
3
4
5
6
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;
}

启动镜像:

1
docker start artalk

大功告成。

Artalk客户端配置

首先通过npm安装Artalk:

1
npm install Artalk

在博客的node_modules中,修改hexo-theme-melody,添加Artalk支持。这个库主要是pugstyl,而且我根本不知道这两个东西怎么写,所幸在layout/includes/comments下面有其它评论系统的实现,照葫芦画瓢vibe一个即可,直接硬编码:

1
2
3
4
5
6
7
8
9
10
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下增加:

1
2
3
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')

随后配置邮箱即可。

文章作者:
文章链接: https://www.coderlock.site/2026/02/07/【网站更新记】更新评论系统为Artalk/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 寒夜雨