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

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

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

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

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

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的定义:

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

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

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

也就是说现在变成了我们要求Disqus在GitHub仓库子页面下插入评论插件,这不是作死是什么!

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

最值得信赖的还是官方的文档,老是看网上的教程就难免踩到坑。

可能引起「We Were Unable to Load Disqus」错误的一种情况分析的更多相关文章

  1. xvfb启动PyQt4程序报Unable to load library icui18n错误

    xvfb启动PyQt4程序报如下错误: Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so ...

  2. Genymotion报Unable to load virtualbox engine错误

  3. VisualSFM使用记录1 unable to load libsiftgpu.so

    官网:http://ccwu.me/vsfm/(解决过程蓝色字,问题原因解决方法红色字)SFM computer missing match阶段运行出现错误 More than 189MB of gr ...

  4. Dynamics 365 CRM On premise Unable to Load plug-in assembly

    背景介绍: 本地部署Microsoft Dynamics CRM 9.0正常可用,后打补丁到9.0.16.7,打开系统quote报 “ Unable to Load plug-in assembly” ...

  5. Hadoop - 彻底解决警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...

    目录 1 - 在日志配置文件中忽略警告 - 有效 2 - 指定本地库的路径 - 无效 3 - 不使用 Hadoop 本地库 - 无效 4 - 替换 Hadoop 本地库 - 有效 5 - 根据源码,编 ...

  6. Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块

    在项目中使用C#代码调用C++ DLL时.常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题: Unhandled Exception:System.DllNo ...

  7. [ASP.NET 5]终于解决:Unable to load DLL 'api-ms-win-core-localization-obsolete-l1-2-0.dll'

    11月12日,惊喜地发现SqlClient(System.Data.SqlClient.dll)跨平台了(对应的nuget包包是runtime.unix.System.Data.SqlClient), ...

  8. Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 (VERR_UNRESOLVED_ERROR).

    Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 ( ...

  9. Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl

    [Bug笔记]Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl 标签: bugjartomcat服务器互联 ...

随机推荐

  1. node.js之web开发 koa入门

    用Node.js开发Web服务器端,有几个显著的优势: 速度快,非常快!这得益于Node.js天生是异步的. 常见的Web框架包括:Express,Sails.js,koa,Meteor,DerbyJ ...

  2. java 基础数据结构

    数据结构, 需要考虑两个方面: 1. 每个元素具体的存储方法 (java中是一个对象) 2. 元素之间的关系如何实现存储 (java中也是一个对象) 另外在java中, 已经可以把跟数据结构有关的一些 ...

  3. 关于Unity的C#基础学习(一)

    一.程序包含 1.数据:运行过程中产生的 2.代码:代码指令 数据和代码都是存放到内存中的,代码指令在程序加载的时候放到内存,数据是在程序运行的时候在内存中动态地生成,随时会被回收,要定义变量来存放数 ...

  4. HashMap与HashCode有关,用Sort对象排序

    遍历Map,使用keySet()可以返回set值,用keySet()得到key值,使用迭代器遍历,然后使用put()得到value值. 上面这个算法的关键语句: Set s=m.keySet(); I ...

  5. 【BZOJ】2440: [中山市选2011]完全平方数(莫比乌斯+容斥原理+二分)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2440 我觉得网上很多题解都没说清楚...(还是我太弱了? 首先我们可以将问题转换为判定性问题,即给出 ...

  6. Eclipse & Visual Studio

    VS中的解决方案 vs Eclipse中的workspace Maven包管理 vs  Nuget类库管理 build path  vs

  7. Python爬虫(五)

    源码: import requests from lxml import etree from my_mysql import MysqlConnect mc = MysqlConnect(','ho ...

  8. 你真的搞懂ES6模块的导入导出规则了吗

    前言 模块作为ES6规范的核心部分之一,在实际项目开发中经常会看到它的身影,那么我们是否真正了解它的相关规则呢,今天就带大家一起了解一下模块的导入导出规则 导入 ES6模块的导入(即import)大致 ...

  9. WebStorm Cordova 环境搭建

    一.软件安装 1.nodejs 2.npm 3.Cordova 如果慢,可以修改镜像,再进行安装. npm config set registry http://registry.cnpmjs.org ...

  10. ionic listview对象的编辑、排序和删除

    1)ionic的listview对象即<ion-list></ion-list> 2)添加并显示编辑按钮(添加其他自定义按钮也一样) can-swipe属性设置为true(默认 ...