首页 文章

传递include参数以从Jekyll中的集合中选择文件夹

提问于
浏览
3

我试图构建一个自动构建的目录,所有问题都可以共享,使用includes来添加它,并通过YAML头中'order'值中的值对页面进行排序 . 我正在使用集合来分离问题 . 例如,第一个问题位于名为 _issue01 的文件夹中 .

_issue02 中的第二个问题,等等 . 我试图从我使用语法包含它的地方传入一个参数:

{% include toc.html foo=site.issue01 %}

然后在 toc.html 上收到 foo 使用:

{% assign documents = {{include.foo}} | sort: 'order' %}

过滤器抱怨:

错误:液体错误(第13行):无法对空对象进行排序 .

我尝试了另一种从这个thread获取提示的方法 .

{% capture foo %}{{ site.issue01 }}{% endcapture %}
{% include foo.html %}

但这似乎将整个事物作为一个字符串传递:

错误:未定义的方法`sort'for#

1 回答

  • 2

    我找到了答案:

    在要包含toc的文件中:

    {% include toc.html bar=site.issue01 %}
    

    toc.html 中,诀窍是使用括号:

    {% assign documents = (include.bar | sort: 'order') %}
    

相关问题