# Front Matter

任何包含 YAML front matter 的 Markdown 文件都将由 gray-matter (opens new window) 处理。front matter 必须是 markdown 文件中的第一部分,并且必须采用在三点划线之间书写的有效的 YAML。 这是一个基本的例子:

---
title: Blogging with VuePress
lang: zh-CN
---

# {{ $frontmatter.title }}

My blog post is written in {{ $frontmatter.lang }}.

在这些三条虚线之间,你可以设置预定义变量(参见下面),甚至可以创建自己的自定义变量。 然后,您可以使用 $frontmatter 在页面的其余部分、以及所有的自定义和主题组件访问这些变量。

提示

在 VuePress 中,Front matter 是 可选的

# 其他格式的 Front Matter

除了 YAML 之外,VuePress 也支持 JSON 或者 TOML (opens new window) 格式的 front matter。

JSON front matter 需要以花括号开头和结尾:

---
{
  "title": "Blogging Like a Hacker",
  "lang": "en-US"
}
---

TOML front matter 需要显式地标注为 TOML:

---toml
title = "Blogging Like a Hacker"
lang = "en-US"
---

# 预定义变量

# title

  • 类型: string
  • 默认值: h1_title || siteConfig.title

当前页面的标题。

# lang

  • 类型: string
  • 默认值: en-US

当前页面的语言。

# description

  • 类型: string
  • 默认值: siteConfig.description

当前页面的描述。

# layout

  • 类型: string
  • 默认值: Layout

设置当前页面的布局组件。

  • 类型: string
  • 默认值: siteConfig.permalink

参考: Permalinks.

# metaTitle

  • 类型: string
  • 默认值: `${page.title} | ${siteConfig.title}`

重写默认的 meta title。

# meta

  • 类型: array
  • 默认值: undefined

指定额外的要注入的 meta 标签:

---
meta:
  - name: description
    content: hello
  - name: keywords
    content: super duper SEO
---

# 默认主题的预定义变量

  • 类型: boolean
  • 默认值: undefined

参考: 默认主题配置 > 禁用导航栏

  • 类型: boolean|'auto'
  • 默认值: undefined

参考: 默认主题配置 > 侧边栏

# prev

  • 类型: boolean|string
  • 默认值: undefined

参考: 默认主题配置 > 上 / 下一篇链接

# next

  • 类型: boolean|string
  • 默认值: undefined

参考: 默认主题配置 > 上 / 下一篇链接

  • 类型: boolean
  • 默认值: undefined

参考: 默认主题配置 > 内置搜索

# tags

  • 类型: array
  • 默认值: undefined

参考: 默认主题配置 > 内置搜索