1. 最近在作一个基于Java的我的博客系统,已经基本完工了,忽然发现怎么没有评论的操做,若是再从头开始从数据库开始写的话,花费的代价有点大,因而乎我就在网上寻找一款适合个人第三方评论插件,第一次我找到了“畅言”,结果很使人失望,由于个人网站没有备案,因此没法使用“畅言”。因而Gitalk就映入了个人眼帘。php
2. Gitalk 最初推出来,应该是想配合在 github 上建博客,方便添加评论功能的。随着其余评论插件的没落,Gitalk 就火起来了。Gitalk 是一个基于 Github Issue 和 Preact 开发的评论插件。它除了支持 Hexo 外,还支持 java,php 等语言开发的博客。
详情请参考:官网css
1.首先须要到GitHub上去新建一个仓库用于存放评论的内容:
2.在设置中打开isue功能:
html
默认是打开的
3.须要注册一个Github Application具体步骤以下:
java
(2)完成以后便到了以下页面:
其中Client ID 和 Client Secret是咱们须要的东西。
4.如上步骤完成以后,接下来你就会体验到Gitralk 的方便之处:react
只须要将以下代码引入你想添加评论的 html 或者 jsp 页面中就可使用了git
<-- 引入 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css"> <script src="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script> <-- 添加一个容器--> <div id="gitalk-container"></div> <-- 生成 gitalk 插件--> var gitalk = new Gitalk({ clientID: '56f73fbc5e79a466ea62', //Client ID clientSecret: '26d8eb4f3b0de9ce02382103ffc32ba34c4671f4', //Client Secret repo: 'blogtalk',//仓库名称 owner: 'smfx1314',//仓库拥有者 admin: ['smfx1314'], id: location.href, // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('gitalk-container')
clientID String
github
必须. GitHub Application Client ID.数据库
clientSecret String
npm
必须. GitHub Application Client Secret.app
repo String
必须. GitHub repository.
owner String
必须. GitHub repository 全部者,能够是我的或者组织。
admin Array
必须. GitHub repository 的全部者和合做者 (对这个 repository 有写权限的用户)。
id String
Default: location.href
.
页面的惟一标识。长度必须小于50。
number Number
Default: -1
.
页面的 issue ID 标识,若未定义number
属性则会使用id
进行定位。
labels Array
Default: ['Gitalk']
.
GitHub issue 的标签。
title String
Default: document.title
.
GitHub issue 的标题。
body String
Default: location.href + header.meta[description]
.
GitHub issue 的内容。
language String
Default: navigator.language || navigator.userLanguage
.
设置语言,支持 [en, zh-CN, zh-TW]。
perPage Number
Default: 10
.
每次加载的数据大小,最多 100。
distractionFreeMode Boolean
Default: false。
相似Facebook评论框的全屏遮罩效果.
pagerDirection String
Default: 'last'
评论排序方式, last
为按评论建立时间倒叙,first
为按建立时间正序。
createIssueManually Boolean
Default: false
.
若是当前页面没有相应的 isssue 且登陆的用户属于 admin,则会自动建立 issue。若是设置为 true
,则显示一个初始化页面,建立 issue 须要点击 init
按钮。
proxy String
Default: https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token
.
GitHub oauth 请求到反向代理,为了支持 CORS。 为何要这样?
flipMoveOptions Object
Default:
{ staggerDelayBy: 150, appearAnimation: 'accordionVertical', enterAnimation: 'accordionVertical', leaveAnimation: 'accordionVertical', }
评论列表的动画。 参考
enableHotKey Boolean
Default: true
.
启用快捷键(cmd|ctrl + enter) 提交评论.
随便点击一篇文章进入,底部就会出现评论模块: