javascriptgithubjekyllgithub-pagesdisqus

"We were unable to load Disqus." with jekyll's default minima theme


When setting up my personal blog with jekyll, I found that I cannot get the comments section shown. It kept telling me:

We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

Relevant code: (For the complete code, please visit my repo: https://github.com/sunqingyao/sunqingyao.github.io)

_config.yml

disqus:
  shortname: sled-dog

_layouts/post.html

{% if site.disqus.shortname %}
  {% include disqus_comments.html %}
{% endif %}

disqus_comments.html

{% if page.comments != false and jekyll.environment == "production" %}

  <div id="disqus_thread"></div>
  <script>
    var disqus_config = function () {
      this.page.url = '{{ page.url | absolute_url }}';
      this.page.identifier = '{{ page.url | absolute_url }}';
    };
    (function() {
      var d = document, s = d.createElement('script');
      s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
      s.setAttribute('data-timestamp', +new Date());
      (d.head || d.body).appendChild(s);
    })();
  </script>
  <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
{% endif %}

I've read through the troubleshooting guide several times and checked every possible situation, but the comments are still not appearing.

A few things to note:

  1. I'm using minima, jekyll's default theme, and following its document.
  2. I've registered a Disqus account and verified email address.
  3. My website shortname is sled-dog.
  4. github.io has been added to "Trusted Domains".

Solution

  • There is an error in the this.page.identifier variable.

    It should contain the page's unique identifier, but it is currently setting the page's url: this.page.identifier = '{{ page.url | absolute_url }}';

    You should change it to:

    this.page.identifier = {{ site.disqus.shortname }}';
    

    ċ†è§

    Surround var disqus_config with comment tags: /* var disqus_config = ...*/.