前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于GitHub Issues的评论系统--gitment

基于GitHub Issues的评论系统--gitment

作者头像
创译科技
发布2019-06-03 09:07:32
1.7K0
发布2019-06-03 09:07:32
举报
文章被收录于专栏:Node开发Node开发

最近在做个人博客网站,需要评论系统,比较流行的几个第三方评论系统:多说,友言,网易云跟帖,gitment,之前使用过多说,感觉挺好用的,但是现在多说服务器已经关闭了,最后我选择了gitment这个评论系统,因为个人博客网站面对的人群比较偏向IT领域,gitment是使用GitHub账号进行授权登录,所以可以省却用户注册登录等操作。

Gitment 是基于 GitHub Issues 的评论系统。支持在前端直接引入,不需要任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,同时有完整的 Markdown 和代码高亮支持。适合各种静态博客或项目页面。

1.注册OAuth Application

进入GitHub官网https://github.com/,点击右上角头像,选择setting

进入setting后选择developer setting

选择new OAuth app

前面三个参数可以随意填写,第四个参数很重要,是回调URL,这个一定不能填写错,一般填写你博客主页地址,我目前博客还未上线是内网穿透到外网生成博客测试地址,所以我回调URL填写了http://zhanyue.natapp1.cc,也就是我博客主页地址,填写完成点击Register application

注册应用成功后,可以得到你应用的Client ID, Client Secret,然后到这里注册成功。

2.在HTML中设置一个div,用来放置评论系统

评论系统所需包有以下两个:https://imsun.github.io/gitment/style/default.css

https://imsun.github.io/gitment/dist/gitment.browser.js,

直接在界面中引入如上两个文件就可以了。

3.设置参数,渲染评论系统

评论系统分为两部分,第一部分渲染页面估计都能看懂,唯一需要注意的就是gitment目前只支持编码en-US,第二部分就是评论系统的配置信息:

1.id: 我们文章的id,用来区分是哪一篇文章。

2.owner: GitHub账户的username

3.repo: GitHub的仓库名

4.Client_id: 步骤1得到的Client_id

5.Client_secret: 步骤1得到的Client_secret

到这里我们就可以成功搭建博客系统了,接下来让我们测试一下。不过gitment每篇博客都需要你手动初始化评论功能(如果你的历史博客很多那就一篇一篇去点吧,不过貌似有人写了批量处理脚本,没试过哈).

评论系统成功进行显示了,但是好像出了点问题:Error: Comments Not Initialized,其实这个不是出问题,这个是因为这篇文章的评论系统还未进行初始化,上面说过gitment每篇文章都需要手动进行初始化。

点击登录,第一次会出现授权GitHub账号登录的验证,授权登录完成会发现刚才的Error消失了

点击最下方的初始化评论,对这篇文章进行初始化,然后就可以正常使用评论系统了。

从图中我们可以看到评论系统可以正常使用了到这里基于GitHub Issues的评论插件--gitment开发就完成了。最后再说说gitment开发容易碰到的几个坑吧。

1.Error: Not Found问题

owner或者repo配置错误了,注意GitHub和仓库名字的大小写。

2.Error: Comments Not Initialized

这个问题要么你回调URL填写的有问题,要么就是刚才说的你还未进行登录。

3.登录报错[object ProgressEvent]

我用postman测试发现这个错误完全是因为gitment作者的骚操作,服务器过期了,但是作者源码进行开放了,可以自己clone源码然后放置到服务器进行使用,我的话使用了GitHub一个网友自己搭建的服务器:

因为我是将包进行下载到本地然后用webpack进行打包使用,所以直接在gitment.js包中找到如图代码,将地址更换为

然后就可以成功使用GitHub账号进行登录评论了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿周先森 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.注册OAuth Application
    • 2.Error: Comments Not Initialized
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档