litten / hexo-theme-yilia

一个简洁优雅的hexo主题 A simple and elegant theme for hexo.
http://litten.me/
8.36k stars 2.41k forks source link

多说评论配置有bug #11

Closed iblogc closed 9 years ago

iblogc commented 9 years ago

/themes/yilia/layout/_partial/post/duoshuo.ejs这个文件里

<div class="ds-thread" data-thread-key="<%=key%>" data-title="<%=title%>" data-url="<%=url%>"></div>

这里的<%=key%>我不太明白是从哪里获取的,如果建两个page(hexo new page)A和B,这两个page的key是一样的,这就导致A页面的评论会出现在B页面,我暂时把这句配置改为了

<div class="ds-thread" data-thread-key="<%=key%><%=url%>" data-title="<%=title%>" data-url="<%=url%>"></div>
litten commented 9 years ago

这个key就是文章的路径名。 如果建两个page(hexo new page)article-a和article-b,那么两个page的key就分别是article-a,article-b。是有唯一性的,因而我没出现评论错乱的情况。请再确认一下。

iblogc commented 9 years ago

我今天又把多说配置恢复成原来默认配置,测试还是有问题,我用firebug看了下,每篇文章里的多说评论框都会有一个thread_id值,而且都不一样,但两个page页面的thread_id值却是一样的。问题重现可以查看http://korvin101.github.io/ 或 http://korvin.gitcafe.com/ 里的「收腹计划」和「关于」两个page

litten commented 9 years ago

哦,我明白了。 在你的「收腹计划」和「关于」两个page的头部,没有设定 slug: "xxx"才会这样,这时两个key都会变成undefined。 之所以这么做,是因为也有合并评论的需求,比如《xxx从入门到精通(上)》和《xxx从入门到精通(下)》的文章,作者如果想合并评论,设置一样的slug即可。会比用url好一些。

这里是我的问题,没有说明清楚,感谢您的指出,我会在readme里说明并完善下。目前你可以在两篇文章头部先设定不同的slug试一下。具体可以参考下这样的写法:https://github.com/litten/BlogBackup/blob/master/source/instagram/index.ejs

ps:如果不想要显示右上角日期,可以设定noDate: "true"

iblogc commented 9 years ago

原来如此,加上slug后已经正常了,谢谢