前言

maupassant-hexo主题在首页及文章页会自动统计文章对应评论,并可以在点击评论时自动跳转到评论位置。主题本身支持多说或Disqus评论,在主题中有对应设置,当设置使用多说评论时,该超链接自动在文章地址后添加#comments,以此实现跳转到文章对应的评论位置。

可在实际使用时发现,评论数能自动统计,但点击该超链接却不会自动跳转到评论层。查看调试信息,整篇文章中并不存在id=comments或者class=comments,所以点击并不会发生导航跳转。

解决方案

该问题应该是主题的bug,我们可以自行将其修正。

找到主题模板themes\maupassant\layout\post.jade,可以找到如下内容:

1
2
3
4
if theme.duoshuo
a.ds-thread-count(data-thread-key=page.path, href=url_for(page.path) + '#comments') //就是这个自动添加的`#comments`
if theme.disqus
a.disqus-comment-count(data-disqus-identifier=page.path, href=url_for(page.path) + '#disqus_thread')

chrome或者edge浏览器按f12打开调试界面,可看到多说评论框中有个#ds-thread锚点,和下面的disqus评论一样,主题作者在写多说评论时应该是有疏忽的,我们只要对应修改就可以了
1
2
3
4
if theme.duoshuo
a.ds-thread-count(data-thread-key=page.path, href=url_for(page.path) + '#ds-thread')
if theme.disqus
a.disqus-comment-count(data-disqus-identifier=page.path, href=url_for(page.path) + '#disqus_thread')

按如上改完,保存就可以预览到效果了,但首页的评论统计点进去还是不行,可能是打开时多说评论加载速度问题,此处貌似也没什么用,还影响首页打开速度,干脆干掉(看主题作者的博客这个地方也干掉了)

2017年3月22日-多说退出历史舞台,换成了Disqus评论,重新把首页显示评论数开起来了

打开首页模板themes\maupassant\layout\index.jade,将加载该注释统计图标的代码注释掉即可。

1
2
3
4
//if theme.duoshuo
//a.ds-thread-count(data-thread-key=post.path, href=url_for(post.path) + '#ds-thread')
//if theme.disqus
//a.disqus-comment-count(data-disqus-identifier=post.path, href=url_for(post.path) + '#disqus_thread')