昨天花时间给个人博客加Valine评论系统。由于所使用的Hugo主题LoveIt已经支持Valine评论系统,原本以为会比较简单,但是因为自己是小白一只,仍然走了许多弯路。于是在这里总结一下。

1. Valine评论系统

Valine是一款快速、简洁且高效的无后端评论系统,理论上支持但不限于静态博客。

1.1 获取AppID和AppKey

进入LearnCloud注册账号。

登录账号,在主界面点击创建应用按钮D。

填入应用名(按喜好任意取名即可),个人使用选择开发版,点击创建。

进入所创建的应用。在 设置 - 应用Keys - 获取AppID和AppKey。

在 存储 - 结构化数据 - 创建Class 创建Comment数据库,用来存储评论数据。

2. 修改config.toml配置文件

回到MyBlog根目录下,打开config.toml文件,找到Comment Config设置代码块。将配置做如下修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Comment Config
[params.comment]
enable = true

# Disqus Comment Config (https://disqus.com/)
# [params.comment.disqus]
# Disqus shortname to use Disqus in posts
# shortname = "dillonzq"

# Gittalk Comment Config (https://github.com/gitalk/gitalk)
# [params.comment.gitalk]
# owner = ""
# repo = ""
# clientId = ""
# clientSecret = ""

# Valine Comment Config (https://github.com/xCss/Valine)
[params.comment.valine]
enable = true
appId = "你的AppID"
appKey = "你的AppKey"
placeholder = "说点什么吧..."
notify = false
verify = true
avatar = "mp"
# meta= ""
visitor = true
recordIP = true

# Facebook Comment Config (https://developers.facebook.com/docs/plugins/comments)
[params.comment.facebook]
enable = false
width = "100%"
numPosts = 10
appId = ""
languageCode = "en_US"

由于LoveIt适配了多个评论系统,所以整个评论设置的代码较长,我只需要Valine评论系统,修改Valine部分的设置就🆗。注意[params.comment]下的enable一定要设置为true,表示是否打开评论功能

Valine配置中各个参数的意义:

Value Function
appId 从LearnCloud上获取的AppID
appKey 从LearnCloud上获取的AppKey
placeholder 评论框内预显示的文本
notify 是否使用邮件提醒
verify 评论时是否使用验证码验证
avatar 头像类型
visitor 是否开启文章阅读量统计
recordIP 是否记录评论者IP地址

进行到这儿,天真的我以为就配置完成了👀,结果启动之后发现文章界面并没有评论框显示。在网上尝试搜教程,发现都是说如何在主题中添加Valine的html代码,而这些LoveIt主题中已经整合好了,不需要自己添加这部分的代码。

3. 设置环境变量

于是在GitHub给LoveIt的作者Dillon留了言。十分感谢他的回复👍,他提醒我设置评论需要设置环境变量HUGO_ENV=production(环境变量的设置步骤参考使用Hugo搭建静态博客网站设置Hugo的环境变量过程)

将Hugo环境切换到生产环境。

4. 安装Hugo extended版本

然而很快问题又来了,上图是我没有添加博文时的情况,可以正常启动。但当我添加了博文之后,报出下面的错误

我又虚(si)心(pi)请(lai)教(lian)了Dillon,他告诉我要下载extended版本。好的!进入Hugo Releases界面下载windows对应的文件,配置好环境变量,启动!我的评论系统终于有了~

5. 总结

再次感谢LoveIt作者Dillon帮忙解决问题!
自己配置这些开源项目时,也要更加认真的阅读作者给出的文档,避免自己走弯路。

6. 参考