一开始我博客的评论系统使用的是多说,后来多说倒闭了换成网易云跟帖,结果后来网易云跟帖也关了,我就换成disqus
,结果disqus
被墙了。。。
昨天把hexo
升级了下,想着索性就看看有没有更合适的评论系统用,然后就发现了gitment。配置完效果还不错
它本质上是利用了GitHub Issues ,将评论同步到GitHub
那么,如何申请和配置呢?
注册 OAuth Application
点击此处 来注册一个新的 OAuth Application。其他内容可以随意填写,但要确保填入正确的 callback URL(一般是评论页面对应的域名,如 https://awen.me)。
你会得到一个 client ID 和一个 client secret,这个将被用于之后的用户登录。
配置 hexo
1 | gitment: |
坑
基本到这里就配置完了,不过,在实际使用过程中会有问题,因为作者的认证服务器https://gh-oauth.imsun.net 挂了,所以一直登陆不成功,提示 [object ProgressEvent]
,
解决办法
修改 next 主题下的themes/next/layout/_third-party/comments 下的 gitment.swig,替换 js文件如下:
1 | {% if not (theme.duoshuo and theme.duoshuo.shortname) and not theme.duoshuo_shortname %} |
如果你不用我这个,你也可以自己搭建认证服务器,具体操作步骤如下
使用 Heroku 搭建GitHub 认证服务器
Heroku是一个支持多种编程语言的云平台即服务,注册Heroku,在右上角的“new”,选择“Create New App”新建一个应用。
根据操作系统下载并安装Heroku CLI,或者使用npm install heroku,我这里以mac为例
1 | brew tap heroku/brew && brew install heroku |
登陆heroku,OSX输入指令之后,会自动打开一个页面输入登陆用户名和密码
1 | heroku login |
获取 gh-oauth-server
1 | git clone https://github.com/imsun/gh-oauth-server.git |
修改package.json,在script中添加如下代码
1 | "heroku": "NODE_ENV=production node server" |
如下所示
1 | { |
新建Procfile文件,输入以下内容
1 | web: npm run heroku |
在heroku上找到你刚刚创建的应用,切换到“Deploy”,有详细的操作步骤
1 | $ heroku git:clone -a YourAppName |
切换到“Settings”,找到“Domain”的值,即应用的地址。然后参考上面的解决办法中将gitment.browser.js 文件中的值进行修改。两个gitment.browser.js 都需要修改。
1 |
|