Jekyll 中的 If 语句问题

Issue with If Statement in Jekyll

我在使用 jekyll 中的 if 语句时遇到困难

{% if site.disqus_account %}
<script type="text/javascript">
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
  function disqus_config() { this.experiment.enable_scroll_container = true; }
  var disqus_shortname = "{{ site.disqus_account }}"; // required: replace example with your forum shortname
  /* * * DON'T EDIT BELOW THIS LINE * * */
  (function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>
{% endif %}

以上代码功能齐全。我将 disqus_account 变量添加到我的 yaml 配置文件中,它工作正常。然而。如果我做 site.comments 或 post.comments -

{% if site.disqus_account and site.comments %}
<script type="text/javascript">
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
  function disqus_config() { this.experiment.enable_scroll_container = true; }
  var disqus_shortname = "{{ site.disqus_account }}"; // required: replace example with your forum shortname
  /* * * DON'T EDIT BELOW THIS LINE * * */
  (function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>
{% endif %}

然后以上停止工作并且不显示任何内容。在我的 post 中,我声明

---
layout: post
comments: true
---

我重启了我的 jekyll 服务器好几次了。编译我的站点时没有错误。为什么我添加一个 and 语句来检查是否为该 post 启用了评论会阻止整个内容加载?

我正在关注位于 https://help.disqus.com/customer/portal/articles/472138-jekyll-installation-instructions 的文章以设置 disqus。

https://help.disqus.com/customer/portal/articles/472138-jekyll-installation-instructions 中引用的文章不正确。博客 post 中声明的 yaml 变量位于 page.comments 而不是 site.comments 或 post.comments.