0%

Hexo+Next上开启Valine评论系统

朋友之前问怎么没有开评论系统,倒不是不想开,而是刚开始建站的时候浏览了好多博文,似乎很多原来的接口都在hexo不太好用了。特别是很多博文都是两年前写的,当然,大多数其他功能都没问题

简介

Valine

Valine是一款基于Leancloud的快速、简洁且高效的无后端评论系统。

Leancloud

我的理解,Leancloud相当于是一个数据托管平台,可以帮助应用存储相关数据。Valine主要用到的是其中的数据存储——comments

环境说明

使用了最新版的Hexo以及最新版的Next主题

获取AppID

注册Leancloud

访问Leancloud,点击免费试用就会跳转到注册/登陆页面。当前支持通过Github,Weibo以及QQ进行注册

注册完后需要验证邮箱

创建应用

访问控制台,在控制台中创建新应用

获取应用Key

点击新创建的应用——设置——应用Key,保存页面上的App ID以及App Key以备后续使用

配置Valine

在最新版的Next主题中,已经合入了Valine的配置代码,使得配置起来非常快捷。访问Hexo中使用Valine,点击merged,会跳转到Next主题的merge历史

检查相关文件

可以再次检查并确认主题配置文件_config.xml,layout/_macro/post.swiglayout/_third-party/comments/valine.swig是否都已经合入了相关代码

配置AppKey

编辑主题配置文件_config.xml中的valine部分内容

1
2
3
4
5
6
7
8
9
10
valine:
enable: true
appid: $Your APP ID # your leancloud application appid
appkey: $Your APP Key # your leancloud application appkey
notify: false # mail notifier , https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: 随便说些什么吧 # comment box placeholder
avatar: mm # gravatar style
guest_info: nick,mail,link # custom comment header
pageSize: 10 # pagination size

重新生成页面

执行命令,重新生成并部署

1
$ hexo clean && hexo g && hexo d

到这里,查看页面已经可以看到评论系统

创建留言页面

可以为站点创建一个单独的留言板页面

创建页面

1
$ hexo new page guestbook

配置主题

  • 修改主题配置文件

主题配置文件_config.xml的menu字段新增guestbook字段

1
2
3
4
5
6
7
8
9
10
menu:
home: / || home
tags: /tags/ || tags
categories: /categories/ || th
archives: /archives/ || archive
#schedule: /schedule/ || calendar
#sitemap: /sitemap.xml || sitemap
#commonweal: /404/ || heartbeat
about: /about/ || user
guestbook: /guestbook/ || comments

可以访问fontawesome选择自己喜欢的图标来作为留言板的图标

  • 本地化处理

编辑对应语言的配置文件themes/next/languages/zh-CN.yml,在menu中增加guestbook的中文

1
2
3
4
5
6
7
8
9
10
11
menu:
home: 首页
archives: 归档
categories: 分类
tags: 标签
about: 关于
search: 搜索
schedule: 日程表
sitemap: 站点地图
commonweal: 公益 404
guestbook: 留言

编辑页面

编辑之前生成的guestbook页面

1
2
3
4
5
6
---
title: 留言板
date: 2018-03-26 23:36:19
comments: true
---
<center>既然来了,就是一种缘分,留下点什么吧:cat:</center>

重新部署之后就可以看到留言板了 😃

清除测试留言

为了确保留言功能已经正常工作,都会测试一下。测试完毕后,可以通过Leancloud的控制台清除测试数据

点击myblog——存储——Comments,即可查看当前留言,选中测试时的留言,删除即可