本文主要讲述使用gitalk和Valine两种方式打造hexo博客评论系统的完整过程,并讲述两种评论系统的使用感受,本人使用它的主题为next,其他主题配置可能略有不同,如果在配置过程中产生任何问题,欢迎留言交流。
使用gitalk打造评论系统
1. Github注册OAuth应用
在GitHub上注册新应用,链接:https://github.com/settings/applications/new
参数说明:
Application name: # 应用名称,随意
Homepage URL: # 网站URL
Application description # 描述,随意
Authorization callback URL:# 网站URL
点击注册后,页面跳转如下,其中Client ID和Client Secret在后面的配置中需要用到,到时复制粘贴即可:
2. 新建gitalk.swig
新建themes/next/layout/_third-party/comments/gitalk.swig
文件,并添加内容:
1 | {% if page.comments && theme.gitalk.enable %} |
为了配合其中的md5函数能够使用,这里要引入js脚本。将 md5.min.js 文件下载下来放到 themes/next/source/js/src/ 路径下。
3. 修改comments.swig
修改themes/next/layout/_partials/comments.swig
,添加内容如下,与前面的elseif
同一级别上:
1 | {% elseif theme.gitalk.enable %} |
4. 修改index.swig
修改themes/next/layout/_third-party/comments/index.swig
,在最后一行添加内容:
1 | {% include 'gitalk.swig' %} |
5. 新建gitalk.styl
新建/source/css/_common/components/third-party/gitalk.styl
文件,添加内容:
1 | .gt-header a, .gt-comments a, .gt-popup a |
6. 修改third-party.styl
修改themes/next/source/css/_common/components/third-party/third-party.styl
,在最后一行上添加内容,引入样式:
1 | @import "gitalk"; |
7. 修改_config.yml
在主题配置文件themes/next/next/_config.yml
中添加如下内容:
1 | gitalk: |
8.修改index.md
文件使about、tag、categories页面不显示评论页面
上面的操作步骤完成后,tag的页面显示如下,about和categories页面类似:
这里只需要在source/
文件夹下分别新建 about
、categories
、tags
文件夹,每个文件夹里面都新建一个 index.md
文件(已有的直接添加comment: false),内容为
1 |
|
就可以正常显示了
分类页面
最终呈现效果:
博主使用github账号登录后其他用户可以正常使用评论
部署
9.文章评论自动初始化
到上面一步虽然评论系统已经可以使用,但是每篇文章都需要博主去手工进行初始化,非常的繁琐,因此在这里提供一个自动化进行评论初始化的脚本,可实现直接对全部脚本的初始化。
要使用该脚本首先要在github上穿件一种新的认证方式——Personal access token,点击Generate New token,如下填写
保存Token:
安装依赖:
1 | sudo gem install faraday activesupport sitemap-parser |
在根目录下新建gitalk_inti.rb,内容如下:
1 | username = "xxx" # GitHub 用户名 |
最后可直接输入:
1 | ruby gitalk_init.rb |
网上大量自动初始化脚本多次提交会出现多次创建issue问题,该脚本不存在多提交多次创建issue的问题,可以放心使用。
使用Valine打造评论系统
Valine 是基于 LeanCloud 作为数据存储的,是一款商用的软件,与gitalk相比具有以下优势:
- 稳定性更好
- 不存在初始化问题
- 自带了文章阅读量显示功能
- 具备更加方便的邮箱提醒功能
下面将对使用Valine打造评论系统的详细过程进行介绍:
1.账号注册
因为是商用软件,因此使用Valine首先要进行的就是登陆LeanCloud网站进行账号注册。
因为网络安全法的出台,现在LeanCloud账号注册必选要进行实名认证后才能正常使用
2.创建应用
点击创建应用,输入应用名称,选择开发版进行创建。
创建成功后,出现界面
3. 打开应用存储,创建存储表
打开应用,选择左边的存储,进入后点击创建Class,分别创建Counter和Comment两个Class,创建时全向都选择无任何限制,面向全部用户。
Counter为文章阅读计数存储表,Comment为评论存储表。
创建成功后如下:
4.关闭其他服务,设置Web安全域名
点击左侧导航栏设置选项,点击安全中心,关闭除数据存储外其他选型,然后在Web安全域名中填写博客地址。
5.点击应用key,获取应用的AppID、AppKey
6.修改主题配置文件进行配置
打开主题目录下_config.yml文件搜索valine对其进行配置。
1 | valine: |
这里language只能是小写,大写会造成评论区域不显示
博客重新部署后,就可以正常使用Valine评论了。