"We were unable to load Disqus." 使用 Jekyll 的默认最小主题
"We were unable to load Disqus." with jekyll's default minima theme
在使用 jekyll 设置 my personal blog 时,我发现无法显示评论部分。它一直告诉我:
We were unable to load Disqus. If you are a moderator please see our
troubleshooting guide.
相关代码:(完整代码请访问我的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 %}
troubleshooting guide看了好几遍,各种情况都排查过了,还是没有出现评论。
一些注意事项:
- 我正在使用 minima,jekyll 的默认主题,并遵循其 document.
- 我已经注册了一个 Disqus 帐户并验证了电子邮件地址。
- 我的网站短名称是
sled-dog
。
github.io
已添加到 "Trusted Domains"。
this.page.identifier
变量有错误。
它应该包含页面的唯一标识符,但它当前正在设置页面的 url: this.page.identifier = '{{ page.url | absolute_url }}';
您应该将其更改为:
this.page.identifier = {{ site.disqus.shortname }}';
再见
- 更新
用评论标签包围 var disqus_config
:/* var disqus_config = ...*/
。
我很惊讶最好的答案是禁用 discus.config。
如果您在使用默认 jekyll 主题的网站上启用 disqus 时遇到问题,请检查参数。
_config.yml 应包括:
disqus:
shortname: test-shortname
url: http://yourwebsite.com
JEKYLL_ENV 应设置为 "production"
export JEKYLL_ENV=production
这就是您所需要的。祝你好运。
查看@nazlok 的原始 post,在谷歌搜索后我遇到了类似的问题,我发现 disqus short_name 与 disqus 帐户名称不同。实际上它是特定于站点的。
根据我在您的 _config.yml 中看到的情况,您的 short_name: sled-dog
可能是您的 'disqus account name'。
确认您的网站 short_name 正确。请参阅 what-is-a-shortname 了解如何访问 short_name。
在我的例子中,我为 this.page.url
使用了相对 URL 但它应该是绝对 URL,
{{ page.url | absolute_url }}
在使用 jekyll 设置 my personal blog 时,我发现无法显示评论部分。它一直告诉我:
We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
相关代码:(完整代码请访问我的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 %}
troubleshooting guide看了好几遍,各种情况都排查过了,还是没有出现评论。
一些注意事项:
- 我正在使用 minima,jekyll 的默认主题,并遵循其 document.
- 我已经注册了一个 Disqus 帐户并验证了电子邮件地址。
- 我的网站短名称是
sled-dog
。 github.io
已添加到 "Trusted Domains"。
this.page.identifier
变量有错误。
它应该包含页面的唯一标识符,但它当前正在设置页面的 url: this.page.identifier = '{{ page.url | absolute_url }}';
您应该将其更改为:
this.page.identifier = {{ site.disqus.shortname }}';
再见
- 更新
用评论标签包围 var disqus_config
:/* var disqus_config = ...*/
。
我很惊讶最好的答案是禁用 discus.config。
如果您在使用默认 jekyll 主题的网站上启用 disqus 时遇到问题,请检查参数。
_config.yml 应包括:
disqus:
shortname: test-shortname
url: http://yourwebsite.com
JEKYLL_ENV 应设置为 "production"
export JEKYLL_ENV=production
这就是您所需要的。祝你好运。
查看@nazlok 的原始 post,在谷歌搜索后我遇到了类似的问题,我发现 disqus short_name 与 disqus 帐户名称不同。实际上它是特定于站点的。
根据我在您的 _config.yml 中看到的情况,您的 short_name: sled-dog
可能是您的 'disqus account name'。
确认您的网站 short_name 正确。请参阅 what-is-a-shortname 了解如何访问 short_name。
在我的例子中,我为 this.page.url
使用了相对 URL 但它应该是绝对 URL,
{{ page.url | absolute_url }}