给Ghost添加Gitalk评论

一直一来Ghost官方都没有给评论的功能,没办法就自己找一些方案,发现Gitalk还可以满足我的需求,数据存放在Github上,评论需要Github帐号,也一定程度上缓解了垃圾评论的存在。可以在这里查看项目&Demo

接入它也很容易,需要准备

  • Github帐号
  • Github一个独立的repo用来存放评论
  • Github一个application,可以点击这里

进入Ghost后台,Settings -> Code injection中给Site Header增加gitalk的CSS:

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

同时增加Site Footer一段JS:

<!-- gitalk -->
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script type="text/javascript">
    var gitalkDiv = document.createElement("div");
    gitalkDiv.setAttribute("id", "gitalk-container");
    document.querySelector('.your gitalk container class name').appendChild(gitalkDiv) //这里的通过Dom获取到你的gitalk容器,往里面加入一个新的div
    
    var gitalk = new Gitalk({
      clientID: 'GitHub Application Client ID', // applicaionId,注册之后可以见到
      clientSecret: 'GitHub Application Client Secret', //注册后可以生成
      repo: 'GitHub repo名称',
      owner: '自己Github用户名',
      admin: ['自己Github用户名'],
      id: location.pathname,      // 可以保持默认
      distractionFreeMode: false  // Facebook-like distraction free mode
    })
    
    gitalk.render('gitalk-container')
</script>

接下来需要到你当前的Ghost主题中(一般路径在ghost安装目录/content/themes/yourTheme/post.hbs)找到post.hbs,在页面的最下方加入

<div class="your gitalk container class name"></div>

接着重启Ghost,重启Ghost,重启Ghost,不然页面是不会出现这个新的div的,不要问我如何知道的。

Done!