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

时间:2016-05-24 02:32:10

标签: jekyll liquid

我正在根据期刊问题在Jekyll 3.0.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'

1 个答案:

答案 0 :(得分:2)

我找到了答案:

在要包含toc的文件中:

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

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

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