SargerasWang's Blog

我常常思考为什么鸟儿拥有整片天空,却常常停留在一个地方。然后我问了自己同样的问题。

添加评论功能

今天同事听说我有博客了,表示要上来评论一番,我才想起来还没有这个功能,遂加了一个,过程记录在这里,整个过程以破船这篇文章为基础,我只是稍作改动。

一. 多说网注册账号

多说网,点[我要安装],选一个账号登陆,我直接选的QQ登陆。

授权后,进入[创建站点]的页面,站点名称填一下

站点地址,像我就是http://sageraswang.github.com

多说域名,应该就是shortname,我用的是 sageraswang

电子邮箱等自己填。

之后点击[创建].

二. 添加代码

注册之后,会跳转到通用代码的页面。 其中,只需要用到的是short_name的值,像我就是sageraswang

1
var duoshuoQuery = {short_name:"sageraswang"};

修改_config.yml

在文件最后添加

1
2
3
#duoshuo comments
duoshuo_comments: true
duoshuo_short_name: yourname

其中,“yourname”替换成你的short_name

修改/source/_layouts/post.html

打开post.html ,找到 <section>标签,把包括上下的if在内,都删除,换成

1
2
3
4
5
6
{% if site.duoshuo_short_name and site.duoshuo_comments == true and page.comments == true %}
  <section>
    <h1>评论</h1>
    <div id="comments" aria-live="polite">{% include post/duoshuo.html %}</div>
  </section>
{% endif %}

上面代码中的大括号我都换成了全角,你粘贴后应换回半角

创建/source/_includes/post/duoshuo.html

写入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- Duoshuo Comment BEGIN -->
<div class="ds-thread"></div>
<script type="text/javascript">
  var duoshuoQuery = {short_name:"yourname"};
  (function() {
    var ds = document.createElement('script');
    ds.type = 'text/javascript';ds.async = true;
    ds.src = 'http://static.duoshuo.com/embed.js';
    ds.charset = 'UTF-8';
    (document.getElementsByTagName('head')[0]
    || document.getElementsByTagName('body')[0]).appendChild(ds);
  })();
</script>
<!-- Duoshuo Comment END -->

其中,“yourname”替换成你的short_name

生成+预览+发布

shell命令

1
2
$ rake generate
$ rake preview

进入http://127.0.0.1:4000/ 看一下效果,点某一篇文章,看最后是否出现了评论模块。 如果一切正常,就发布到github

1
$ rake deploy

完成

到此,评论功能添加完成,enjoy it!