Posts /

GitHub Pages博客添加Gitalk评论

Twitter Facebook Google+
22 Jan 2019

GitHub Pages博客添加Gitalk评论

由于出了很多bug,我们严格根据官方的说法来配置

官方中文文档:https://github.com/gitalk/gitalk/blob/master/readme-cn.md

安装方式非常简洁

1. 安装

<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>

关于在哪里引入

严格将css文件加入到head标签下

在这个Blog的主题下,是在一个head.html文件中加入这句

<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">

在要添加评论的文章页面的body标签下加入js文件

在这个Blog的主题下,文章的页面即post.html

<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>

2. 使用

添加一个容器:

<div id="gitalk-container"></div>

将这句话放在添加评论的位置

注意每个容器会生成不同的issue

如果每个文章都生成一个容器,那么每个文章对应着不同的issue

用下面的 Javascript 代码来生成 gitalk 插件:

var gitalk = new Gitalk({
  clientID: 'GitHub Application Client ID',
  clientSecret: 'GitHub Application Client Secret',
  repo: 'GitHub 仓库名',
  owner: 'GitHub 账户名',
  admin: ['GitHub 账户名数组'],
  id: location.href,      // Ensure uniqueness and length less than 50
  distractionFreeMode: false  // Facebook-like distraction free mode
})

gitalk.render('gitalk-container')

需要 GitHub Application,如果没有 点击这里申请

3. 设置

更多设置查看官方文档https://github.com/gitalk/gitalk/blob/master/readme-cn.md

注意在Github仓库Setting里必须勾选issues

4. BUG

1. Gitalk加载不出来

首先检查

   var gitalk = new Gitalk({
     clientID: 'GitHub Application Client ID',
     clientSecret: 'GitHub Application Client Secret',
     repo: 'GitHub 仓库名',
     owner: 'GitHub 账户名',
     admin: ['GitHub 账户名数组'],
     id: location.href,      // Ensure uniqueness and length less than 50
     distractionFreeMode: false  // Facebook-like distraction free mode
   })
   
   gitalk.render('gitalk-container')

2. Validation Failed(422)

参考了一篇文章:处理Gitalk中由于文章URL过长导致的Validation Failed(422)

0. 找一个 js 实现的 md5

网上随便找了找,用的是这个JavaScript-MD5

1. 引入 js,对 url 加密

<script src="https://biuy.github.io/assets/js/md5.min.js"></script>
<script type="text/javascript">
    var gitalk = new Gitalk({
  	clientID: 'GitHub Application Client ID',
  	clientSecret: 'GitHub Application Client Secret',
  	repo: 'GitHub 仓库名',
  	owner: 'GitHub 账户名',
  	admin: ['GitHub 账户名数组'],
  	id: md5(location.href),      // Ensure uniqueness and length less than 50
  	distractionFreeMode: false  // Facebook-like distraction free mode
	})

	gitalk.render('gitalk-container')
</script>

2. 测试验证

提交后打开之前有问题的文章,发现已经可以正常创建 issue 了


Twitter Facebook Google+