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:
sled-dog
.github.io
has been added to "Trusted Domains".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 = ...*/
.