0%

Hexo的Next主题下集成gitalk评论系统

博客建好了当然要增加评论模块(万一有人想评论呢)。

Gitalk是基于 GitHub Issues 的评论系统。评论系统那么多,为什么用它呢?因为它简单方便呀,直接在GitHub里就可以申请应用许可~

下面是具体步骤。

注册 OAuth Application

点击此处 来注册一个新的 OAuth Application。或者点击GitHub右上角个人头像 -> Settings -> 左侧最下的Developer Settings -> OAuth Apps -> New OAuth App。Application name可以随便填,Homepage URL和callback URL最好都填你的博客域名,如我的填的就是https://hj-tang.github.io注意!域名后面不要有斜杠 / !!

点击注册后,会得到Client IDClient Secret,这个在后面的配置中会用到。

配置Gitalk

修改next主题下的配置文件next/_config.yml,找到以下部分并按照下面所示修改:

第一部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ---------------------------------------------------------------
# Comments Settings
# See: https://theme-next.org/docs/third-party-services/comments
# ---------------------------------------------------------------

# Multiple Comment System Support
comments:
# Available values: tabs | buttons
style: tabs
# Choose a comment system to be displayed by default.
# Available values: changyan | disqus | disqusjs | gitalk | livere | valine
active: gitalk
# Setting `true` means remembering the comment system selected by the visitor.
storage: true
# Lazyload all comment systems.
lazyload: true

第二部分:

1
2
3
4
5
6
7
8
gitalk:
enable: true
githubID: github帐号 # 例如:hj-tang 注意是ID不是name
repo: 用于存放评论的仓库名称 # 可以填写博客所在的repo如hj-tang.github.io,或者建一个新的用于存放评论如store_comments
ClientID: Client ID # 前面注册OAuth App时生成的
ClientSecret: Client Secret # 前面注册OAuth App时生成的
adminUser: github帐号 #指定可初始化评论账户 例如:hj-tang
distractionFreeMode: true

可能存在的问题

完成上一步之后我们预览博客会发现文章下面有评论区,但是可能会报如下错

Related Issues not found. Please contact @XXXX to initialize the comment.

不过没关系,只要我们点击 “Login with Github” 登陆一次就行了。检查下其他文章,有可能每个页面都需要登陆一次。

某些页面不希望有评论区

点击分类或标签进入到相应页面时,会发现也有评论区,这是我们不想看到的。这篇文章里的第4部分介绍了如何添加标签及分类。只要在相应的页面如tags的index.md页面添加comments: false就行了。如下所示:

1
2
3
4
5
6
---
title: 标签
date: 2020-06-20 18:57:36
type: "tags"
comments: false
---

其他可能问题

可以参考 Junzhou Liu的博客