当前位置: 首页 > 后端技术 > Node.js

基于GitHubIssues的评论系统--gitment

时间:2023-04-03 12:55:32 Node.js

文章最初发表于公众号:程序员周先森。本平台不定期更新,喜欢我的文章,请关注我的微信公众号。最近在做个人博客网站,需要一个评论系统。有几个比较流行的第三方评论系统:多说,有言,网易云贴,gitment,之前用的太多了,感觉很好用,现在说多了,服务器都关了,最后我选择gitment这个评论系统,是因为个人博客站面对的人群更偏向于IT领域。gitment使用github账号进行授权登录,可以省去用户注册和登录的操作。Gitment是一个基于GitHubIssues的评论系统。支持前端直接导入,无需任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,并且拥有完整的Markdown和代码高亮支持。适用于各种静态博客或项目页面。1、注册OAuthApplication,进入GitHub官网https://github.com/,点击右上角头像,选择setting进入setting,选择developersetting,选择newOAuthapp。前三个参数可以随意填写。第四个参数很重要,是CallbackURL,这个一定不能填错,一般填自己博客的首页地址,我现在的博客还没有上线,因为内网穿透到外网生成了一个博客测试地址,所以我填写了回调地址http://zhanyue.natapp1.cc,这是我博客的首页地址。填写完成后点击Registerapplication注册成功,可以得到你的应用的ClientID和ClientSecret,然后到这里注册成功。2.在HTML中设置一个div放置评论系统评论系统需要以下两个包:https://imsun.github.io/gitme...https://imsun.github.io/gitme...将以上两个文件直接导入界面即可。3.设置参数,渲染评论系统评论系统分为两部分,第一部分可以通过渲染页面来理解,唯一需要注意的是gitment目前只支持编码en-US,第二部分是配置评论系统信息:1.id:我们文章的id,用来区分是哪篇文章。1.owner:GitHub账号的用户名1.repo:GitHub仓库名1.Client_id:第11步得到的Client_idClient_secret:第1步得到的Client_secret至此博客系统搭建成功,下面我们来测试一下。但是gitment中的每篇博客都需要你手动初始化评论功能(如果你有很多历史博客,你可以一一点击,但是好像有人写了批处理脚本,我没试过).评论系统显示成功,但似乎出了点问题:错误:注释未初始化。其实这不是问题。这是因为这篇文章的评论系统还没有初始化。上面说到gitment中的每一篇文章都需要手动初始化。点击登录,第一次会出现授权GitHub账号登录的认证。授权登录后,你会发现刚才的错误消失了。点击底部的初始化评论,对本文进行初始化,之后就可以正常使用评论系统了。从图中我们可以看到评论系统可以正常使用了。至此,基于GitHubIssues——gitment的评论插件开发完成。最后说一下gitment开发容易遇到的几个坑。1.Error:NotFoundowner或repo配置错误。注意GitHub和仓库名的大小写。2.Error:CommentsNotInitialized这个问题要么是你回调URL填写有问题,要么就是我刚才说的你没有登录。3.登录报错[objectProgressEvent]我用postman测试发现这个报错完全是gitment作者的风骚操作,服务器已经过期了,但是作者的源码已经开放了,大家可以自己clone源码和放到服务器上使用,我用的是GitHub上一个网友搭建的服务器:因为我是在本地下载包,然后用webpack打包的,直接在gitment.js包里找到代码,把地址换成and然后用我的GitHub账号成功登录评论了。这就是关于gitment评论系统的使用。欢迎加入我的技术群一起学习。公众号首页有群二维码。不定时更新群内的学习资源。欢迎关注我公众号:程序员周先森