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.
我在使用 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.