在 Hugo 和 Docsy 中,_index.md
文件用于定义目录(section)的元数据和内容。它的作用类似于目录的“首页”,可以设置该目录的标题、描述、菜单顺序等内容,也可以显示一些页面内容。以下是关于 _index.md
的详细说明:
1. _index.md
的作用
-
定义目录的元数据:
_index.md
用于设置当前目录的元信息,例如标题、权重、菜单、SEO 元数据等。 -
作为目录的首页:
如果访问该目录的 URL,Hugo 会使用_index.md
渲染该页面内容。 -
控制子页面在菜单或 Sidebar 中的行为:
通过_index.md
的配置,可以影响该目录下子页面的排序和显示方式。
2. _index.md
的典型结构
_index.md
是一个 Markdown 文件,文件头部的 front matter 是关键部分,通常用 YAML 或 TOML 格式来定义。以下是一个典型的 _index.md
示例:
示例 1: 配置标题和排序
---
title: "Chapter 1"
weight: 10 # 定义该目录在 Sidebar 中的排序
description: "This is the first chapter." # 页面描述
---
# 欢迎来到第1章
欢迎阅读第1章内容,这是章节的介绍页。
示例 2: 配置菜单
---
title: "Advanced Topics"
menu:
main:
weight: 20 # 定义菜单顺序
parent: "Docs" # 该目录作为 "Docs" 的子菜单
---
# 高级主题
本节包含高级主题内容。
示例 3: 隐藏当前目录
如果你不希望目录出现在 Sidebar 中,可以使用以下设置:
---
title: "Hidden Chapter"
weight: 30
hidden: true # 隐藏该目录
---
# 隐藏章节
该章节不会出现在导航中。
3. _index.md
的常见字段
以下是 _index.md
文件中常用的 front matter 字段:
字段名 | 作用 |
---|---|
title |
设置目录的标题。 |
weight |
控制该目录在菜单或 Sidebar 中的排序,数字越小越靠前。 |
menu |
定义目录的菜单设置,通常指定菜单的 parent 或排序权重。 |
hidden |
如果设置为 true ,该目录不会显示在菜单或 Sidebar 中。 |
description |
定义该目录的描述,通常用于 SEO 或页面元信息。 |
draft |
如果设置为 true ,该目录为草稿状态,不会发布到最终的站点。 |
disableToc |
如果设置为 true ,禁用页面上的 Table of Contents(目录) |