可能引發「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

相關文章
相關標籤/搜索