Skip to content

Frontmatter 配置

Frontmatter 启用基于页面的配置。在每个 markdown 文件中,你可以使用 frontmatter 配置来覆盖站点级或主题级配置选项。此外,还有一些配置选项只能在 frontmatter 中定义。

示例用法:

yaml
---
title: Docs with VitePress
editLink: false
---

你可以通过 Vue 表达式中的 $frontmatter 全局变量访问 frontmatter 数据:

md
{{ $frontmatter.title }}

title

  • 类型: string

  • 详细信息:

    页面的标题。它与 config.title 相同,并且它覆盖站点级配置。

yaml
---
title: VitePress
---

titleTemplate

  • 类型: string | boolean

  • 详细信息:

    标题的后缀。它与 config.titleTemplate 相同,并且它覆盖站点级配置。

yaml
---
title: VitePress
titleTemplate: Vite & Vue powered static site generator
---

description

  • 类型: string

  • 详细信息:

    页面的描述。它与 config.description 相同,并且它覆盖站点级配置。

yaml
---
description: VitePress
---
  • 类型: HeadConfig[]

  • 详细信息:

    指定要为当前页面注入的额外 head 标签。将在站点级配置注入的 head 标签之后追加。

yaml
---
head:
  - - meta
    - name: description
      content: hello
  - - meta
    - name: keywords
      content: super duper SEO
---
ts
type HeadConfig =
  | [string, Record<string, string>]
  | [string, Record<string, string>, string]

仅默认主题

以下 frontmatter 选项仅在使用默认主题时适用。

layout

  • 类型: doc | home | page

  • 默认值: doc

  • 详细信息:

    确定页面的布局。

    • doc - 它将默认文档样式应用于 markdown 内容。
    • home - "主页"的特殊布局。你可以添加额外的选项,如 herofeatures 来快速创建漂亮的着陆页。
    • page - 行为类似于 doc 但它不对内容应用任何样式。当你想要创建一个完全自定义的页面时很有用。
yaml
---
layout: doc
---

hero 仅主页

  • 类型: Hero

  • 详细信息:

    layout 设置为 home 时,定义主页 hero 部分的内容。更多详细信息请参阅默认主题:主页

features 仅主页

  • 类型: Feature[]

  • 详细信息:

    layout 设置为 home 时,定义要在 features 部分中显示的项目。更多详细信息请参阅默认主题:主页

  • 类型: boolean

  • 默认值: true

  • 详细信息:

    是否显示 navbar

yaml
---
navbar: false
---
  • 类型: boolean

  • 默认值: true

  • 详细信息:

    是否显示 sidebar

yaml
---
sidebar: false
---

aside

  • 类型: boolean | 'left'

  • 默认值: true

  • 详细信息:

    定义 aside 组件在 doc 布局中的位置。

    将此值设置为 false 可阻止渲染 aside 容器。 将此值设置为 true 可将 aside 渲染到右侧。 将此值设置为 'left' 可将 aside 渲染到左侧。

yaml
---
aside: false
---

outline

  • 类型: number | [number, number] | 'deep' | false

  • 默认值: 2

  • 详细信息:

    配置在 outline 中显示的标题级别。它与 config.themeConfig.outline.level 相同,并且它覆盖主题级配置。

lastUpdated

  • 类型: boolean | Date

  • 默认值: true

  • 详细信息:

    是否在当前页面中显示最后更新文本。如果指定了日期,它将显示而不是从 Git 历史记录中推断的最后修改时间。

yaml
---
lastUpdated: false
---
  • 类型: boolean

  • 默认值: true

  • 详细信息:

    是否在当前页面中显示编辑链接

yaml
---
editLink: false
---
  • 类型: boolean

  • 默认值: true

  • 详细信息:

    是否显示 footer

yaml
---
footer: false
---

pageClass

  • 类型: string

  • 详细信息:

    向特定页面添加额外的类名。

yaml
---
pageClass: custom-page-class
---

然后你可以在 .vitepress/theme/custom.css 文件中自定义此特定页面的样式:

css
.custom-page-class {
  /* 页面特定样式 */
}

vitepress开发指南