可能引发「We Were Unable to Load Disqus」错误的一种状况分析

今天想往Octopress里加评论,以前看了网上的教程,应该是简单的事情,由于Octopress原本为你准备好了评论插件Disqus的代码,只须要去Disqus注册个账号,而后在_config.yml里面打开配置就好了,没想到这么简单的事情却被以前埋的的一个坑给坑惨了。html

以前在《利用Octopress在Github上搭建博客及后续问题总汇》这篇文章提到过,我利用Octopress建站主要参考的教程就是破船的《利用Octopress搭建一个Github博客》,其中对于_config.yml的设置提到过:git

config.yml是博客重要的一个配置文件,在config.yml文件中有三大配置项:Main Configs、Jekyll & Plugins和3rd Party Settings。github

通常,该文件中其中url是必需要填写的,这里的url是在github上建立的一个仓库地址,具体请看第四步中建立的地址。另外再修改一下title、subtitle和author,根据需求,在开启一些第三方组件服务。web

而其中的坑就在于文章说_config.yml中的url须要配置成GitHub上的仓库地址,当时根据这种说法,我配置的url为:ide

url: https://github.com/findingsea/findingsea.github.com.git

当时启动部署一切都正常,我也根本没想到这样配置实际上是错误的。要知道为何这样配置是错误的,就要先讲讲Disqus。通常状况下,Disqus想要引入正常,就要保证/source/_includes/disqus.html文件中的disqus_url和_config.yml文件中的disqus_short_name这两个值的正确。disqus_url是Disqus须要嵌入评论插件的地址,disqus_short_name是Disqus对你的站点的标识。disqus_short_name是本身手动设置的,并且是在要启动Disqus插件的时候才设置的,通常不会出错,而disqus_url的值是Octopress读取你的配置文件自动生成的,这里若是发生错误是很难发现的。而咱们看disqus_url的定义:ui

var disqus_url = '{{ site.url }}{{ page.url }}';

很明显,disqus_url的值由_config.yml配置文件中的url和当前页面的路径决定。我在/source/_includes/disqus.html中将disqus_url的值进行输出,发如今上述配置方法下,disqus_url的值为:url

https://github.com/findingsea/findingsea.github.com.git/blog/2013/09/23/about-we-were-unable-to-load-disqus/

也就是说如今变成了咱们要求Disqus在GitHub仓库子页面下插入评论插件,这不是做死是什么!spa

因此正确的设置方法,应该是在_config.yml中将url设置为你站点的地址,对应我就应该是http://findingsea.github.ioOctopress官网的配置说明页面也对url的值进行了描述:插件

_config.yml

最值得信赖的仍是官方的文档,总是看网上的教程就不免踩到坑。code

相关文章
相关标签/搜索