我想在我的frontmatter中使用一个值来指定要循环的数据文件,但我无法使其工作。
我在_data / sidebars / sidebar1.yml中有一个数据文件。它包含:
- first
- second
- third
在页面上,我有这个先例:
---
title: My page
sidebar: site.data.sidebar.sidebar1
---
我想使用此代码:
{% for entry in page.sidebar %}
* {{entry}}
{% endfor %}
然而,这不起作用。我尝试了很多事情(包括assign
和capture
标记来定义page.sidebar内容,但似乎没有任何效果。
唯一有效的方法是:
{% if page.sidebar == "site.data.sidebars.sidebar1" %}
{% assign sidebar = site.data.sidebars.sidebar1 %}
{% endif %}
{% for entry in sidebar %}
* {{entry}}
{% endfor %}
但是,我想用if
语句来避免这些额外的代码,因为很容易忘记这一点,我想自动更多。
关于如何使这项工作的任何想法?