Front Matter 入门
Front Matter(前置元数据)是放在笔记最顶部的 YAML 格式数据块,用于为笔记添加结构化的元数据信息。它是 Obsidian 属性系统的基础。
什么是 Front Matter?
Front Matter 使用三条横线 --- 包裹,位于笔记开头:
markdown
---
title: 我的笔记
tags: [学习, 编程]
created: 2024-01-15
---
# 笔记标题
笔记正文开始...核心概念
Front Matter 中的数据不会在阅读模式下显示为正文,而是作为笔记的「属性」存在。你可以在属性面板、搜索、Dataview 查询中使用这些数据。
基本语法
键值对
yaml
---
key: value
title: 笔记标题
author: 张三
---数据类型
yaml
---
# 字符串
title: 学习笔记
# 数字
priority: 1
# 布尔值
published: true
# 日期
date: 2024-01-15
# 列表(行内写法)
tags: [学习, 编程, Python]
# 列表(多行写法)
tags:
- 学习
- 编程
- Python
# 嵌套对象
metadata:
created: 2024-01-15
modified: 2024-01-20
---常用属性
Obsidian 内置属性
| 属性 | 类型 | 说明 |
|---|---|---|
tags | 列表 | 笔记标签 |
aliases | 列表 | 笔记别名 |
cssclasses | 列表 | CSS 类名 |
publish | 布尔 | 是否发布 |
description | 字符串 | 笔记描述 |
自定义属性示例
yaml
---
# 任务管理
status: 进行中
priority: 高
due: 2024-03-01
# 项目关联
project: 项目A
area: 工作
# 文献管理
type: 读书笔记
author: 作者名
rating: 4
# 学习追踪
course: 课程名
progress: 60%
---在 Obsidian 中查看和编辑
属性面板
- 在笔记顶部,点击属性区域
- Obsidian 显示可视化的属性编辑面板
- 可以直接添加、修改、删除属性
三种显示模式
在 设置 → 编辑器 → 属性视图 中选择:
| 模式 | 说明 |
|---|---|
| 可视化 | 表格形式,直观易用 |
| 源码 | 显示原始 YAML 文本 |
| 自动 | 笔记有属性时显示可视化,无属性时隐藏 |
标签与 Front Matter
两种标签写法
yaml
---
# Front Matter 中(推荐,便于管理)
tags: [学习, 编程]
---
正文中的 #标签 也可以使用标签层级
yaml
---
tags:
- 编程/Python
- 编程/JavaScript
- 学习/课程
---嵌套标签
在 Front Matter 中使用嵌套标签,可以创建标签层级结构:
yaml
---
tags:
- 项目/工作/年度报告
- 项目/个人/健身计划
---别名(Aliases)
别名允许你为笔记设置多个名称,在搜索和链接时都可以使用:
yaml
---
aliases: [JS, JavaScript笔记]
---使用别名链接:
markdown
[[JS]] <!-- 会链接到当前笔记 -->实用模式
笔记模板
yaml
---
title: "{{title}}"
date: "{{date}}"
tags: []
status: 草稿
---项目笔记
yaml
---
type: project
status: 进行中
start: 2024-01-01
deadline: 2024-03-31
owner: 张三
tags: [项目]
---读书笔记
yaml
---
type: book-note
title: 书名
author: 作者
rating: 4
started: 2024-01-01
finished: 2024-01-15
tags: [读书]
---周期性笔记
yaml
---
type: daily
date: 2024-01-15
mood: 😊
tags: [日记]
---与搜索配合
按属性搜索
在搜索中使用 [属性名:值] 语法:
[status: 进行中] <!-- 搜索 status 为"进行中"的笔记 -->
[priority: 高] <!-- 搜索 priority 为"高"的笔记 -->
[tag: 编程] <!-- 搜索有"编程"标签的笔记 -->按属性筛选
[status: 进行中] [project: 项目A]与 Dataview 配合
Front Matter 属性可以被 Dataview 查询使用:
dataview
TABLE status, priority, deadline
FROM "项目"
WHERE status = "进行中"
SORT deadline ASCdataview
LIST
FROM #读书
WHERE rating >= 4
SORT finished DESC常见问题
Front Matter 格式错误?
- 确保
---各占一行 - YAML 中冒号后必须有空格:
key: value✅key:value❌ - 多值列表使用
-前缀或[]语法 - 字符串含特殊字符时用引号包裹
属性面板不显示?
- 确认 Front Matter 位于笔记最开头
- 确认 YAML 语法正确
- 尝试切换编辑模式刷新
标签写在 Front Matter 和正文的区别?
- Front Matter 中的标签:结构化、可查询、易于管理
- 正文中的标签:直观、随写随标
- 两者都会出现在标签面板中
- 建议在 Front Matter 中管理主要标签
可以用 JSON 格式吗?
Obsidian 也支持 JSON 格式的 Front Matter,但 YAML 是主流:
json
{
"title": "我的笔记",
"tags": ["学习", "编程"]
}相关资源
- 属性(Properties) — 属性系统基础
- Properties 完整指南 — 属性深度使用
- Properties 高级用法 — 高级技巧
- 搜索功能 — 按属性搜索
- 模板系统 — 模板中自动填充属性