Front matter 配置
这篇文档介绍了如何使用 front matter 来配置页面的各种属性,包括标题、描述、页面类型、导航栏等。
查看 Front matter 了解什么是 front matter 以及如何使用它,查看 useFrontmatter 了解如何在代码中获取 front matter。
title
- 类型:
string
页面的标题。默认情况下,页面的 h1 标题将用作 HTML 文档的标题。如果你想使用不同的标题,你可以使用 front matter 来指定页面的标题。例如:
它等价于:
description
- 类型:
string
页面的自定义描述,会产生一个 meta 标签用于 SEO 优化。例如:
它会在页面中生成一个 <meta name="description" content="这是我的主页" /> 标签。
pageType
- 类型:
'home' | 'doc' | 'doc-wide' | 'custom' | 'blank' | '404' - 默认值:
'doc'
页面的类型。默认情况下,页面类型为doc。但是如果你想使用不同的页面类型,你可以使用 pageType 这个 front matter 字段来指定页面类型。例如:
各个pageType配置的含义如下:
home: 首页,包含顶部导航栏和首页的布局内容。doc: 文档页,包含顶部导航栏、左边侧边栏、正文内容和右侧的大纲栏。doc-wide: 宽屏文档页,配合outline: false和sidebar: false设置时,正文内容会自动占据更宽的屏幕空间。custom: 自定义页面,包含顶部导航栏和自定义的内容。blank: 也属于自定义页面,但是不包含顶部导航栏。404: 404 页面。
titleSuffix
- 类型:
string
设置页面标题的后缀。未设置 titleSuffix 时,默认使用站点的 title 作为后缀。
标题与后缀之间默认使用 - 作为分隔符,你也可以使用 | 进行分隔:
sidebar
是否展示左侧的目录栏。默认情况下,doc 页面会展示左侧的目录栏。但是如果你想隐藏左侧的目录栏,你可以使用以下 front matter 来配置:
sidebar: false 仅隐藏侧边栏,但原本侧边栏占据的空间仍然保留。如果你想让正文内容占据更宽的屏幕空间,可以使用 pageType: doc-wide 配合 sidebar: false:
这样正文内容区域会自动扩展,占据原本侧边栏的空间。
outline
是否展示右侧的大纲栏。默认情况下,doc 页面会展示右侧的大纲栏。你可以通过下面的配置来隐藏大纲栏:
outline: false 仅隐藏大纲栏,但原本大纲栏占据的空间仍然保留。如果你想让正文内容占据更宽的屏幕空间,可以使用 pageType: doc-wide 配合 outline: false:
这样正文内容区域会自动扩展,占据原本大纲栏的空间。
footer
是否展示文档底部的组件(如上一页/下一页)。默认情况下,doc 页面会展示底部的 footer。你可以通过下面的配置来隐藏 footer:
navbar
是否展示顶部导航栏。默认情况下,所有页面都会展示顶部导航栏。但是如果你想隐藏顶部导航栏,你可以使用以下 front matter 来配置:
context
- 类型:
string
配置后,在生成侧边栏时会在所在的 DOM 节点添加 data-context 属性,值为配置的值。
最终生成的侧边栏的 DOM 结构缩略如下:
head
- 类型:
[string, Record<string, string>][]
设置为当前页面注入的额外 head 标签,它们将附加在 Rspress 全局注入的 head 标签之后。
例如,你可以使用这些 headers 为 Open Graph 指定自定义元标签。
生成的 head 标签如下:
Overview 页相关
以下配置与 Overview 页 功能相关。
overview
- 类型:
boolean - 默认值:
false
在文档页面中启用 Overview 页功能。如果设置为 true,意味着当前页面是 Overview 页。例如:
overviewHeaders
- 类型:
number[] - 默认值:
[2]
在 Overview 页中展示的标题级别。默认情况下,展示的标题为 h2。但是如果你想展示不同的标题级别,你可以使用 overviewHeaders 这个 front matter 字段来指定。例如:
或者
首页相关
以下配置与 首页 功能相关。
hero
- 类型:
Object
home 页面的 hero 配置。它有以下类型:
例如,你可以使用以下 front matter 来指定页面的 hero config:
在设置 hero.text 时,你可以使用 YAML 的 | 符号来手动控制换行:
或者你也可以用 HTML 来指定页面的 hero config:
features
- 类型:
Array - 默认值:
[]
home 页面的功能配置。它有以下类型:
例如,你可以使用以下内容来指定 home 页面的 features 配置: