在docsify中使用gitalk

在index.html中添加(https://docsify.js.org/#/zh-cn/plugins?id=gitalk)

<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.css">

<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/gitalk.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js"></script>
<script>
  const gitalk = new Gitalk({
    clientID: 'Github Application Client ID',
    clientSecret: 'Github Application Client Secret',
    repo: 'Github repo',
    owner: 'Github repo owner',
    admin: ['Github repo collaborators, only these guys can initialize github issues'],
    // facebook-like distraction free mode
    distractionFreeMode: false
  })
</script>

创建github的OAuth Apps

创建GitHub Apps使用其clientID,secret存在问题的

在docsify中使用gitalk

上述URL无需域名,直接ip地址也可以

然后Generate a client即可获取clientID和clientSecret

repo直接写repo name,不是full path

实际用例

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

  <script src="//unpkg.com/docsify/lib/plugins/gitalk.min.js"></script>
  <script>
    var gitalk = new Gitalk({
      clientID: '2eb19afceda708b27e64',
      clientSecret: '36aedb5a30321626a8631689fee5fafd5929f612',
      repo: 'gitalk-comment',
      owner: 'yulilong',
      admin: ['yulilong'],
      title: location.hash.match(/#(.*?)([?]|$)/)[1],
      id: location.hash.match(/#(.*?)([?]|$)/)[1],
    })
    // 监听URL中hash的变化,如果发现换了一个MD文件,那么刷新页面,解决整个网站使用一个gitalk评论issues的问题。
    window.onhashchange = function(event){
      if(event.newURL.split('?')[0] !== event.oldURL .split('?')[0]) {
        location.reload()
      }
    }
    // 由于docsify/lib/plugins/gitalk.min.js文件中已经有下面代码了,所以不需要在写一次了
    // gitalk.render('gitalk-container')
  </script>

用例来自:https://segmentfault.com/a/1190000018072952

上一篇:剑指offer面试题26:复杂链表的复制


下一篇:poj2096(概率dp)