Jekyll 覆盖液体中的YAML frontmatter变量

Jekyll 覆盖液体中的YAML frontmatter变量,jekyll,liquid,Jekyll,Liquid,我希望我最外层的液体模板文件仅在页面需要时引用JavaScript文件。我创建了一个页面变量,page.slideshow,它控制以下内容: default.html: {% if page.slideshow %} <script type="text/javascript" src="/js/slideshow.js"></script> {% endif %} 但是,这似乎不会影响default.html的呈现,因为脚本标记不包括在最终页面中 作为一种解决方法

我希望我最外层的液体模板文件仅在页面需要时引用JavaScript文件。我创建了一个页面变量,
page.slideshow
,它控制以下内容:

default.html:

{% if page.slideshow %}
  <script type="text/javascript" src="/js/slideshow.js"></script>
{% endif %}
但是,这似乎不会影响default.html的呈现,因为脚本标记不包括在最终页面中


作为一种解决方法,我可以修改列出多个图像的每个页面的首页,以显式设置
幻灯片放映:Yes
,或者将default.html更改为选中
page.slideshow或(page.images | size)>0
但我更愿意将其结构更接近于我在上面尝试的内容。

我有一个剧本,但你不能按照你建议的方式来做。似乎页面变量一旦设置就无法修改。你可以用Jekyll插件设置它,但那完全是另一回事

我找到的最干净的方法是将所有逻辑放在最外层的主模板中

{% assign imageCount = page.images | size %}
{% if page.slideshow or imageCount > 1 %}
    {{ page.images | size }}
    <script src="/js/slideshow.js"></script>
{% endif %}
{%assign imageCount=page.images | size%}
{%如果page.slideshow或imageCount>1%}
{{page.images | size}}
{%endif%}

您这边的问题解决了吗?
{% assign imageCount = page.images | size %}
{% if page.slideshow or imageCount > 1 %}
    {{ page.images | size }}
    <script src="/js/slideshow.js"></script>
{% endif %}