Frontmatter(元数据)
Frontmatter 是写在 Markdown 文件最开头的一段 YAML 元数据,用 --- 包裹。它不影响正文显示,却能为笔记添加标题、标签、日期、发布状态等结构化信息。
在即时渲染模式下,Frontmatter 会渲染为带 YAML 语法高亮的可编辑块(顶部有
METADATA 标签条),可以直接在块内增删改键值;源码模式下它就是普通的 YAML 文本。基本语法
在文件第一行开始,用 --- 包裹 YAML 内容:
---
title: 我的笔记标题
tags: [标签1, 标签2]
date: 2024-01-01
---
之后才是正文内容。
支持的属性
| 属性 | 类型 | 说明 |
|---|---|---|
title |
string | 文档标题(覆盖文件名显示) |
tags |
string[] | 标签列表,如 [读书, 技术];会并入标签索引 |
date |
string | 创建日期,建议 YYYY-MM-DD |
publish |
string | 发布状态;public 表示允许在「仅公开笔记」模式下发布 |
author |
string | 作者 |
description |
string | 文档描述(用于发布站点的 SEO) |
在编辑器中编辑
即时渲染模式
Frontmatter 显示为编辑器顶部的一个高亮块:
- 顶部有
METADATA标签条,便于与其他内容区分 - 块内是纯 YAML 文本,带语法高亮(键、字符串、数字、布尔值分别着色)
- 直接点击即可编辑,按行增删键值即可,无需切换到源码模式
该块是纯文本编辑区域,不提供「键值表单」式的字段控件;键名与 YAML 语法需自行书写。
源码模式
直接编辑文件开头的 --- 块即可。
发布控制
Frontmatter 中的 publish 属性决定笔记是否参与「仅公开笔记」发布模式:
---
title: 公开笔记
publish: public
---
- 设为
publish: public→ 在「仅公开笔记」模式下会被包含 - 不写或写其他值 → 仅「完整发布」模式才会包含
发布模式差异详见 08-高级功能/01-发布网站。
编写规范
- Frontmatter 必须位于文件最开头,之前不能有任何字符(包括空行)
- 使用
---开始,再用---结束 - 遵循标准 YAML 语法:字符串可加引号,数组用
[ ],支持数字与布尔值 - 属性名区分大小写(建议全小写)
如果 YAML 语法有误(如少了结束的
---、缩进错乱),Frontmatter 可能无法被正确解析,渲染块中会显示异常。相关文档
- 02-编辑器/02-Markdown语法 — 完整语法支持
- 02-编辑器/01-编辑模式 — 编辑模式介绍
- 08-高级功能/01-发布网站 — 发布与
publish属性