标签
使用标签对页面进行分组和组织
你可以使用 tags
变量为一个或多个页面分配标签。标签允许你以有趣的方式对内容进行分组。
例如,在一个博客站点中,你可能想要对不同类别的文章进行分组:
---
title: The history of the static site generators
tags:
- post # 文章
- ssg # 静态站点生成器
---
这篇文章有两个标签,一个用于标识页面类型(post),另一个用于标识主题(ssg)。要在布局中收集所有标记为 post
的页面,请使用 search
对象:
<ul>
{{ for post of search.pages("post") }}
<li>{{ post.title }}</li>
{{ /for }}
</ul>
要获取所有标记为 post
和 ssg
的页面,请添加两个标签名称,并用空格分隔:
<ul>
{{ for post of search.pages("post ssg") }}
<li>{{ post.title }}</li>
{{ /for }}
</ul>
_data
中的标签
与其他值不同,当你在 _data.*
文件和页面中定义 tags
时,该值不会被覆盖,而是会被聚合。换句话说:页面将拥有在 _data.*
和 页面中定义的所有标签。在前面的示例中,与其手动为所有页面分配 "post" 标签,不如在存储所有文章的目录中的 _data.*
文件中定义它,并使用 front matter 来单独分配其他标签。