默认情况下,Disqus 是把 URL 作为 KEY 存储评论的。所以如果有人在地址 http://example.com/foo.aspx
发表了评论,那么了为评论能一直正常显示,你得确保这个地址不能动。
但是,通过 Jekyll,发往地址 http://example.com/foo.aspx
的请求可以被重定向到 http://example.com/foo.aspx/
。注意最后的斜杠,对 Disqus 来说,这是两个不同的地址,对前面地址的评论并不会在后面的地址中展示出来。
幸运的是,Disqus 允许你通过设置 Disqus Identifier 来查找某个页面的评论线。
所以你可以在模板的 YAML 头中定义如下:
1
2
3
4
5
6
7
8
---
layout: post
title: "Code Review Like You Mean It"
date: 2013-10-28 -0800
comments: true
disqus_identifier: 18902
categories: [open source,github,code]
---
然后就可以通过 Jekyll 模板读取到 disqus_identifier 变量了,但现在还不行,因为默认的模板不知道如何使用它。所以我们继续修改 disqus.html 模板内容,主要如下:
1
2
var disqus_identifier = 'http://lzxz1234.github.io/jekyll/2014/10/28/Disqus-Comments-In-Jekyll.html';
var disqus_url = 'http://lzxz1234.github.io/jekyll/2014/10/28/Disqus-Comments-In-Jekyll.html';
这样当你的模板中不存在 disqus_identifier 变量时,默认仍取 URL 作为主键。不会对原有的资源产生任何影响。
lzxz1234 28 October 2014