摘要
相信很多人已经部署了coding和Github的博客,同时选择好的主题,使用了很多插件,本文就是针对这些插件之一多说来细讲一下。多说 是一个热收欢迎的社会评论插件,相信很多的Hexo博客的同门应该都使用上次插件,并且成功运行。但是如果你部署了双域名的(coding+github)的博客,尽管你的多说成功运行,但是当你某一天看到多说后台的评论时,或许你发现多说评论的文章链接并非你想需要。或许还是一个错误的链接地址。本文针对双重域名下coding和gitHub下如何来理解和设置您的多说,让你的多说更加符合你的要求(或者是针对某个域名而生效)。由于本人研究的是NEXT,所以本文以Next主题模板而讲解。
正文
下面将以两部分开始介绍
- 细说多说在NEXT主题模板的代码结构
- 细说多说的在双域名下引发的问题和解决方法
多说结构
文件机构
各位请移步到主题模板文件:\themes\next\layout
.
文件结构分析:
themes\next\layout\_scripts\third-party\comments\duoshuo.swig
–多说的通用代码文件,其实就是存放多说官方的通用代码。紧挨着它还有disqus的通用代码文件。
通用代码如下:
1 | <script type="text/javascript"> |
themes\next\layout\_partials\comments.swig
–多说和disqus的显示人员评论的代码文件,此文件主要是显示多说人员评论界面,其实就是官方的评论显示代码
代码如下:
1 | {% if page.comments %} |
themes\next\layout\_macro\post.swig
–包含多数和disques的文章评论数代码的文件,此文件包含官方用来显示文章评论数目的代码
1 | {% if post.comments %} |
小结
通过以上的讲解,相信大家应该大概知道,总体的几个文件分别就是对应多说通用代码、多说评论框显示、多说文章评论数目显示,你可以修改模板中的代码以达到你的需要。
双域问题
如果你已经使用了多说,并且你有coding.me和github.io的双域名或者通过其他的域名别名解析的域名。你会发现多说默认会以你的网站下的
_config.yml
的url
属性去定义提交到多说后台的文章链接,但是在双域名下,很多人更多的是以gitHub的域名为url属性值,因为很多插件如hexo-generator-sitemap、hexo-generator-baidu-sitemap等网站地图插件都是要使用url属性,所以url的属性尤为重要。为希望多说提交评论的文章链接合理,通常的做法是希望多说收录的是coding.me域名或者国内域名的文章链接到多说后台,你可以看下面的做法,其实就是修改我门上面的文件,找到对应的代码位置,修改相关url的属性值。
解决
影响到提交的文章url链接和评论显示的相关性的文件为comments.swig,
修改代码
1 | {{ page.permalink }} |
修改为你的url属性,如
1 | {{ 'http://yourname.yourdomian.xx'+post.path }} |
最终代码:
1 | <div class="ds-thread" data-thread-key="{{ page.path }}" ##修改位置{{ 'http://yourname.yourdomian.xx'+post.path }} |
修改文章评论数代码文件post.swig,如果你有了解过多说官方的代码,相信为来让评论更加相关和正确,其实应该加上data-url属性,不妨尝试加入属性显示coding.me的相关评论
1 | data-url="{{ http://yourname.yourdomian.xx'+post.path }}" |
最终代码:
1 | <span class="post-comments-count"> |
小结
通常以上代码修改后,你会发现你的多说后台的文章链接提交已经符合你的需求。但有时我们发现,尽管这样设置了,还是会出现链接照旧的情况,其实你的代码没问题,仅仅是多说不知道什么的问题,大概原因不知道,后来我重新删除多说后台的网站对应的站点,重新针对性域名添加新站点,问题却解决。
总结
希望以上讲解,让你对多说更加了解。如果遇到多说或者更多关于Hexo建站的问题,欢迎一起讨论和一起分享。
结语
如果你还需要了解更多技术文章信息,请继续关注Jory博客