文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140034108-1179178097.jpg)

最近在做个人博客网站,需要评论系统,比较流行的几个第三方评论系统:多说,友言,网易云跟帖,gitment,之前使用过多说,感觉挺好用的,但是现在多说服务器已经关闭了,最后我选择了gitment这个评论系统,因为个人博客网站面对的人群比较偏向IT领域,gitment是使用GitHub账号进行授权登录,所以可以省却用户注册登录等操作。Gitment 是基于 GitHub Issues 的评论系统。支持在前端直接引入,不需要任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,同时有完整的 Markdown 和代码高亮支持。适合各种静态博客或项目页面。

**1.注册OAuth Application**
进入GitHub官网https://github.com/ ,点击右上角头像,选择setting
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140034401-66320230.jpg)

进入setting后选择developer setting
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140034754-1185292180.jpg)

选择new OAuth app
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140035610-317248685.jpg)

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

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

**2.在HTML中设置一个div,用来放置评论系统**
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140036098-2062825361.jpg)

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

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

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

**3.设置参数,渲染评论系统**
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140036338-1997797854.jpg)

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

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

1. owner: GitHub账户的username

1. repo: GitHub的仓库名

1. Client_id: 步骤1得到的Client_id

1. Client_secret: 步骤1得到的Client_secret

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

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

点击登录,第一次会出现授权GitHub账号登录的验证,授权登录完成会发现刚才的Error消失了
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140036832-1771313295.jpg)

点击最下方的初始化评论,对这篇文章进行初始化,然后就可以正常使用评论系统了。
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140037065-44812120.jpg)
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140037273-2027308488.jpg)

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

**1.Error: Not Found问题**

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

**2.Error: Comments Not Initialized**
这个问题要么你回调URL填写的有问题,要么就是刚才说的你还未进行登录。

3.**登录报错[object ProgressEvent]**

![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140037584-1629105164.jpg)

我用postman测试发现这个错误完全是因为gitment作者的骚操作,服务器过期了,但是作者源码进行开放了,可以自己clone源码然后放置到服务器进行使用,我的话使用了GitHub一个网友自己搭建的服务器:
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140037792-1631569989.jpg)

因为我是将包进行下载到本地然后用webpack进行打包使用,所以直接在gitment.js包中找到如图代码,将地址更换为
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140038265-116593003.jpg)

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

关于gitment评论系统的使用就讲到这里,欢迎加入我的技术群一起学习。公众号主页有群二维码。不定期在群里更新学习资源。

**欢迎关注我个人公众号:程序猿周先森**
![file](https://img2018.cnblogs.com/blog/830272/201909/830272-20190921140038527-921803248.jpg)

基于GitHub Issues的评论系统--gitment的更多相关文章

  1. 在Jekyll博客添加评论系统:gitment篇

    最近在Github Pages上使用Jekyll搭建了个人博客( jacobpan3g.github.io/cn ), 当需要添加评论系统时,找了一下国内的几个第三方评论系统,如"多说&qu ...

  2. 博客使用 utterances 作为评论系统

    utterances 是一款基于 GitHub issues 的评论工具. 相比同类的工具 gitment.gitalk 以及 disqus 评论工具,优点如下: 极其轻量 加载非常快 配置比较简单 ...

  3. 应用集成-在Hexo、Hugo博客框架中使用Gitalk基于Github上仓库项目的issue无后端服务评论系统实践

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x00 Gi ...

  4. Hexo博客yilia主题添加Gitment评论系统

    一开始搭建hexo+yilia博客使用的评论功能是通过来必力实现的.来必力免费,功能多,一开始的体验效果很好,但是后来打开网站发现来必力加载的越来越慢(来必力是韩国的公司,可能是国内限制),遂打算换一 ...

  5. 博客中引入了gitment评论系统

    官方github地址:https://github.com/imsun/gitment 官方中文说明地址:https://imsun.net/posts/gitment-introduction/ 官 ...

  6. 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法

    title: 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法 toc: false date: 2018-04-16 22:57:50 cat ...

  7. 将hexo的评论系统由gitment改为Valine

    title: 将hexo的评论系统由gitment改为Valine toc: false date: 2018-09-13 15:10:56 categories: methods tags: hex ...

  8. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

    静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...

  9. Hexo瞎折腾系列(8) - 添加评论系统

    前言 Hexo的NexT主题本身就集成了一些评论系统,多说啊之类的已经关闭服务的略过不提,目前比较多人用的有畅言.来必力livere.Gitment.Gitalk.Disqus等. 我刚用的评论系统的 ...

随机推荐

  1. python使用zabbix的API接口

    一.实验环境 python3.6.6 zabbix 3.0.9 二.实验目的 了解Zabbix的API接口格式 通过python实现登陆zabbix服务,获得登陆token 通过python检索zab ...

  2. 四六级成绩还可以这样查?Python助你装B一步到位!!!

    昨天有很多同学在朋友圈秀六级成绩 一个个都如(sang)此(jin)优(tian)秀(liang) 当然也有悲催的哥们 对于上面这位老弟 我只能说:骚呢,兄弟 这种事都能赶上,必须点赞 一.需求分析 ...

  3. int string类型互转

    int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i); ...

  4. scrapy学习(完全版)

    scrapy1.6中文文档 scrapy1.6中文文档 scrapy中文文档 Scrapy框架 下载页面 解析页面 并发 深度 安装 scrapy学习教程 如果安装了anconda,可以在anacon ...

  5. vue-cli报错:Class constructor FileManager cannot be invoked without 'new'

    bug:vue-cli3开发的项目,今天项目重新下载依赖启动项目的时候出现错误:Class constructor FileManager cannot be invoked without 'new ...

  6. sql中#与$取值

    在mapper.xml中#与$都是用来取值的 <update id="addUrl"> update user_power set url = #{newurl} wh ...

  7. SqlException (0x80131904): 超时时间已到。在操作完成之前超时时间已过或服务器未响应。

    在ms sql2005限制200M内存,framwork2.0环境下,当update更新单表数据量10k时经常出现Command超时的问题,网上查了都是说增加连接时间,尝试了还是解决不了问题,最终一个 ...

  8. unity_实用小技巧(空指针错误)

    在游戏开发中,空指针错误是我们最常见也是最容易出现的错误.下面介绍一下博主近期遇见的空指针错误 如上图,有两个类,如果此时我们在图2中调用图1的单例模式可能会出现空指针错误. 原因在于:编译器可能先执 ...

  9. Java基础之访问权限控制

    Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...

  10. 微信小程序获取手机号码看这篇文章就够了

    前言 微信小程序获取手机号码,从官方文档到其他博主的文档 零零散散的 (我就是这样看过来 没有一篇满意的 也许是我搜索姿势不对) 依旧是前人栽树 后人乘凉 系列.保证看完 就可以实现获取手机号码功能 ...