# 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
设置当前页面的布局组件。
# permalink
- 类型:
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
---
# 默认主题的预定义变量
# navbar
- 类型:
boolean
- 默认值:
undefined
参考: 默认主题配置 > 禁用导航栏。
# sidebar
- 类型:
boolean|'auto'
- 默认值:
undefined
参考: 默认主题配置 > 侧边栏。
# prev
- 类型:
boolean|string
- 默认值:
undefined
参考: 默认主题配置 > 上 / 下一篇链接。
# next
- 类型:
boolean|string
- 默认值:
undefined
参考: 默认主题配置 > 上 / 下一篇链接。
# search
- 类型:
boolean
- 默认值:
undefined
参考: 默认主题配置 > 内置搜索。
# tags
- 类型:
array
- 默认值:
undefined
参考: 默认主题配置 > 内置搜索。