frontmatter 的核心含义是位于文档最顶部、用于存储文档元数据(如标题、日期、分类等)的特定区域, 与文档正文内容分离,通常用 YAML、TOML 或 JSON 格式编写。
1. 核心特点
- 位置固定:必须放在文档最开头,且需要用特定符号包裹(最常见的是 YAML 的 --- 分隔线),避免与正文混淆。
- 用途明确:仅用于描述文档属性,不参与正文渲染,这些元数据会被工具(如 VitePress、Jekyll 等)读取,用于控制页面渲染逻辑(如生成标题、分类归档、权限控制等)。
- 格式灵活:支持多种数据格式,其中 YAML 因可读性强最常用,TOML 适合更复杂的配置,JSON 则适合需严格结构化的场景。
2. 常见格式与示例
以最常用的 YAML 格式为例(VitePress、Hexo 等工具默认支持),一段典型的 frontmatter 如下:
markdown
---
# 这是 YAML 格式的 frontmatter
title: "什么是 frontmatter" # 文档标题
date: 2025-10-18 # 创作日期
author: "豆包" # 作者
tags: [Markdown, 工具配置] # 文档标签(数组形式)
sidebar: false # 自定义配置(控制 VitePress 侧边栏是否显示)
---
# 正文开始
这是文档的正文内容,从分隔线下方开始...
3. 主要使用场景
- 静态站点生成:VitePress、Jekyll、Hexo 等工具通过 frontmatter 读取文章标题、日期、分类,自动生成首页、归档页、标签页。
- 文档管理:在技术文档中定义版本、权限、关联文档等信息,方便工具统一管理(如 GitBook)。
- 内容渲染控制:自定义页面样式(如是否显示侧边栏、导航栏)、加载特定脚本,或控制内容是否公开。