#索引与筛选

Lichtung 提供专用的 indexes 布局,作为站点的导航中心,聚合章节结构、分类体系和交互式筛选功能。

##创建索引页

yaml
# content/indexes.md
---
title: 索引
layout: indexes
---

索引页包含四个区域,从上到下依次为:搜索框、章节树、分类列表、筛选器。

##搜索框

在页面内容区顶部嵌入搜索输入框:

yaml
---
ShowSearch: true
ShowSiteSearch: false
---
参数说明
ShowSearch页面内嵌搜索框(front matter 设置)
ShowSiteSearch侧边栏搜索框

避免同时设为 true,二者共用 HTML id 会冲突。

搜索框功能与侧边栏搜索一致,详见搜索功能

##章节树

自动展示站点所有章节(section)的层级结构,每个章节可展开查看其子章节和页面。

章节树通过递归遍历 Hugo 的 section 结构自动生成,无需手动配置。

##分类列表

列出站点所有分类(taxonomy)及其下的条目(term),每项显示文章计数。例如:

每个 term 链接到对应的 term 页面,可查看该 term 下的所有文章。

##交互筛选器

筛选器允许用户通过分类维度组合筛选文章,是 indexes 布局的核心功能。

###启用筛选

toml
[params]
ShowFilter = true

###使用方式

  1. 筛选器为每个 taxonomy 渲染一组复选框
  2. 选择多个 term 后,结果实时更新
  3. 不同 taxonomy 之间为 AND 关系(同时满足)
  4. 同一 taxonomy 内多个 term 也为 AND 关系
  5. 点击"清除筛选"重置所有选择

###筛选逻辑

TEXT
选中: tags=hugo AND tags=教程 AND categories=guide
→ 显示: 同时拥有 hugo 和 教程 标签且分类为 guide 的文章

###数据来源

筛选器读取 index.json 搜索索引,在客户端执行过滤,无需服务端支持。

##布局结构

pba.arrCgetosstfeaineeai-dctacxlhclertoterencineauthoordm-nmebb-yrsot-(xrlSeiheso(twSFh(iowlwitSteehra)rccohu)nts)

索引页没有右侧 aside,内容区占据全宽,为筛选器和分类列表提供充足空间。

##索引页内容

除自动生成的区域外,页面的 .Content(即 markdown 正文)会显示在最上方,可用于添加导航说明:

markdown
---
title: 索引
layout: indexes
ShowSearch: true
ShowSiteSearch: false
---

# 索引

本站点的所有内容索引。使用搜索框或下方的筛选器找到感兴趣的文章。