有没有办法检查当前页面是否属于集合?如果是这样,我可以检查集合的标签是什么吗?
背景故事:我试图实现的是为属于集合的所有页面显示不同的布局。使用这种新布局,我想显示一个侧面导航(某种"另请参阅"),其中列出了当前站点所属集合中的所有页面。
如果我的问题被证明是愚蠢的——原谅我,我是 jekyll 的新手,我真的试图自己找出答案。
>page.collection
返回文档所属集合的标签。所以我想你想做这样的事情:
{% if page.collection == 'COLLECTION_LABEL' %}
NEW LAYOUT
{% else %}
OLD LAYOUT
{% endif %}
要访问集合中的页面,您可以将标签与 site.COLLECTION_LABEL
或 site[COLLECTION_LABEL]
一起使用(如果它是变量,则需要[]
)。像这样:
{% for page in site[page.collection] %}
<a href="{{ page.url }}">{{ page.title }}</a>
{% endfor %}
任何集合文档都有一个page.collection
变量,即集合标签。
但是,如果要将特定布局关联到集合,则可以使用默认配置:
defaults:
-
scope:
type: mycollection
values:
layout: a_custom_layout
anyvar: a_custom_var