-
Notifications
You must be signed in to change notification settings - Fork 32
4. 基于github的评论系统 gitment
Gitment评论系统基于github。通过你的github账户下某一个仓库来储存留言。
由于github的issue功能本身就与常规留言板功能高度类似,包括留言,点赞,@,markdown语法支持等等。
所以可以用github仓库的一个issue来对应博客中每篇文章的留言板块。
通过修改源码,切实的实现了首页文章摘要中的评论数统计以及锚点跳转功能,稳定可靠。
实质上,使用的源码版本是
gitmint
而不是gitment
,而gitmint本身携带统计功能,但并不理想。 为了追求稳定性,已经将插件本地化,不追随新版。
下面介绍开启该评论系统相关功能的具体方法与具体设置。
该配置位于主题配置文件
mellow/_config.yml
gitment:
enable: false
lazy: true
owner: codefine
repo: gitment
oauth:
client_id: # client_id
client_secret: # client_id
perPage: 10
-
enable
是否开启。如 true 或者 false -
lazy
是否让评论在打开页面的时候隐藏,然后通过按钮展开。如 true 或者 false -
owner
github账号。如 codefine -
repo
github仓库,必须是owner
里所填账号下的某一个已经存在的仓库。如 gitment -
parPage
分页依据,每页展示留言的最大数目。如 10 -
client_id
与client_secret
是通过开启github相关功能来获取,下面介绍获取方法
首先创建一个OAuth application应用,地址https://github.com/settings/applications/new。
创建结束后得到client_id
与 client_secret
。
将 client_id
与 client_secret
填入配置中,并确保 enable
设置为 true 后,配置工作完毕。
首页文章摘要中的评论数统计以及锚点跳转功能默认开启。
每篇文章必须进行评论系统初始化操作,不进行初始化是无法留言的。方法也很简单。
点击评论系统上的 initialize
按钮 -> 跳转至Github权限接入页 -> 输入账号密码确认接入 -> 初始化结束。
由于初始化过程存在网络传输,相应速度根据你的网速而不可控,所以请不要看没反应就猛戳初始化按钮,这样会造成创建多个同名issue,对后面的留言管理不友好。
为什么要初始化?
上面提到了一篇文章对应一个issue,但是github限制了issue的创建过程,目前来看,只能通过手动触发来创建。(在 gitment 原项目中发现了关于自动初始化的方案,由于比较麻烦,暂不考虑了)
本主题的核心理念之一:完全控制。也就是说所有模块必须携带增 / 删 / 改的功能,从而规避某些不理想不情愿的情况发生。
但是这款评论系统基于的issue功能本身并不能删除,也就是说 不能删除issue只能关闭issue,所以并不能真正意义上的整体删除某篇文章的留言。
但是单独某条留言是完全可以实现增 / 删 / 改的功能。
所以如果有删除整篇文章留言的需求,请到对应的issue页面,逐条删除,望周知。
如果您有好的建议或使用中发现问题,请通过如下方式进行问题反馈
- 在主题仓库中提交 Issues
- Fork主题仓库到自己的仓库中,修改并提交 Pull requests