Hexo Next主题打开Gitalk评论系统

又从disqus切换到了gitalk

简介

gitalk是一个基于github开发的评论插件,它将文章评论以issues形式保存在github仓库中

实现步骤如下:

  1. 注册github应用
  2. NexT配置

注册github应用

进入github注册页面:Register a new OAuth application

  • Application name:应用名,方便起见直接填github用户名
  • Homepage URL:网站地址
  • Application description:应用描述
  • Authorization callback URL:网站地址

注册成功后会生成Client IDClient Secret

提示:Homepage URLAuthorization callback URL如果绑定了自己的域名,最好填写自定义域名,不要填写***.github.io ,否则可能会出现The redirect_uri is not associated with this application 的提示。

NexT配置

修改主题_config.yml(根目录下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Gitalk
# For more information: https://gitalk.github.io
gitalk:
enable: true
github_id: zjykzj # GitHub repo owner
repo: guestbook # Repository name to store issues
client_id: e15xxxxx63dce # GitHub Application Client ID
client_secret: 76cxxxxxf766 # GitHub Application Client Secret
admin_user: zjykzj # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
distraction_free_mode: true # Facebook-like distraction free mode
# When the official proxy is not available, you can change it to your own proxy address
proxy: https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token # This is official proxy adress
# Gitalk's display language depends on user's browser or system environment
# If you want everyone visiting your site to see a uniform language, you can set a force language value
# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language: zh-CN
  • 设置enabletrue
  • github_id填入github帐号(用户名,不是邮箱)
  • repo填入github仓库名(注意:是仓库名不是仓库地址),评论将会以issues形式保存在该仓库下
  • client_id填入注册生成的值
  • client_secret填入注册生成的值
  • admin_user填入github帐号,用于初始化评论账户(用户名,不是邮箱)

Error: Not Found

问题描述:在文章底部评论框中出现错误信息

1
Error: Not Found

解决:和配置选项的填写有关,注意填写的内容

备注:填写主题中的配置的时候一定要小心,否则可能就出现此问题。我折腾了一个小时,最后发现是填写仓库名称的时候#号漏删了。
另外,如果配置都正确的情况下,如果还是出现此问题,那么请注意把评论所在仓库设置为public

未找到相关的issue进行评论

错误提示:Related Issues not found:未找到相关的issue进行评论,出现这种情况是因为文章评论还未初始化,只需要点击下面的按钮,登录 GitHub 账户即可。

文章少的话记得登录github账户后一篇一篇打开进行初始化,如果已有文章较多,建议查找脚本操作。

隐藏评论框

设置gitalk评论系统后,将会在每篇文章末尾添加评论框,而对于标签页/类别页等不需要评论的文章,可在front-matter设置属性进行隐藏

1
comments: false