Front matter config
This document introduces how to configure various properties of a page using front matter, including title, description, page type, navbar, etc.
See Frontmatter for what front matter is and how to use it, and see useFrontmatter for how to access front matter in code.
title
- Type:
string
The title of the page. By default, the page's h1 heading will be used as the title of the HTML document. But if you want to use a different title, you can use front matter to specify the title of the page. For example:
It is equivalent to:
description
- Type:
string
A custom description for the page, which generates a meta tag for SEO optimization. For example:
It will generate a <meta name="description" content="This is my home page" /> tag on the page.
pageType
- Type:
'home' | 'doc' | 'doc-wide' | 'custom' | 'blank' | '404' - Default:
'doc'
The type of the page. By default, the page type is doc. But if you want to use a different page type, you can use the front matter field pageType to specify the page type. E.g:
The meaning of each pageType config is as follows:
home: Home page, including the layout content of the top navigation bar and home page.doc: Doc page, including top navigation bar, left sidebar, body content, and outline bar on the right.doc-wide: Wide doc page, when using theoutline: falseandsidebar: falsesettings together, the main content will automatically occupy a wider screen space.custom: Custom page, including top navigation bar and custom content.blank: Also belongs to custom page, but does not includeTop Navigation Bar.404: Not found page.
titleSuffix
- Type:
string
Set the suffix of the page title. When titleSuffix is not set, the site's title is used as the suffix by default.
The default separator between the title and the suffix is -, you can also use | for separation:
sidebar
Whether to show the sidebar on the left. By default, the doc page will display the sidebar on the left. If you want to hide the sidebar on the left, you can use the following front matter config:
sidebar: false only hides the sidebar, but the space originally occupied by the sidebar is still reserved. If you want the main content to occupy a wider screen space, you can use pageType: doc-wide with sidebar: false:
This way, the main content area will automatically expand to occupy the space originally used by the sidebar.
outline
Whether to display the outline column on the right. By default, the doc page displays the outline column on the right. You can hide the outline column with the following config:
outline: false only hides the outline column, but the space originally occupied by the outline column is still reserved. If you want the main content to occupy a wider screen space, you can use pageType: doc-wide with outline: false:
This way, the main content area will automatically expand to occupy the space originally used by the outline column.
footer
Whether to display the components at the bottom of the document (such as previous/next page). By default, the doc page will display the footer at the bottom. You can hide the footer with the following config:
navbar
Whether to show the top navigation bar. By default, all pages will display the top navigation bar. But if you want to hide the top navigation bar, you can use the following front matter config:
context
- Type:
string
After configuration, the data-context attribute will be added to the DOM node when the sidebar is generated, and the value is the configured value.
The DOM structure of the final generated sidebar is abbreviated as follows:
head
- Type:
[string, Record<string, string>][]
Specify extra head tags to be injected for the current page. They will be appended after the head tags injected by Rspress globally.
For example, you can use these headers to specify custom meta tags for Open Graph.
The generated head tags are as follows:
Overview page related
The following configurations are related to the Overview Page feature.
overview
- Type:
boolean - Default:
false
Enable the overview page feature in the document page. If set to true, it means the current page is an Overview Page. For example:
overviewHeaders
- Type:
number[] - Default:
[2]
The header levels shown in the overview page. By default, the displayed header is h2. But if you want to display different header levels, you can specify it using the overviewHeaders front matter field. For example:
Or
Home page related
The following configurations are related to the Home Page feature.
hero
- Type:
Object
The hero config for the home page. It has the following types:
For example, you can use the following front matter to specify a page's hero config:
When setting hero.text, you can use the | symbol in YAML to manually control line breaks:
Or you can use HTML to specify the hero config for the page:
features
- Type:
Array - Default:
[]
The features config of the home page. It has the following types:
For example, you could use the following to specify the features configuration for the home page: