YAML 和属性语法
YAML 和属性语法
Obsidian 是一款功能强大的笔记应用程序,它支持使用 YAML 语法来配置笔记文件的元数据 frontmatter 。YAML 是一种轻量级的数据序列化格式,通常用于表示配置文件和数据传输。
[!tip] 名词解释
- Frontmatter 是一种通过在笔记顶部添加 YAML 或 JSON 来定义笔记元数据的方法。
- Metadata 元数据。
- 在 Obsidian 中,YAML 语法被用来定义笔记文件的元数据 frontmatter ,例如标题、标签、别名、位置等。
- 属性✨新增 Features,YAML 元数据的加强版,增加了属性的数据类型,对 Obsidian 中的数据增加了 UI 界面,Obsidian 的数据大一统时代到来。
名词解释
- Frontmatter 是一种通过在笔记顶部添加 YAML 或 JSON 来定义笔记元数据的方法。
- Metadata 元数据。
- 在 Obsidian 中,YAML 语法被用来定义笔记文件的元数据 frontmatter ,例如标题、标签、别名、位置等。
- 属性✨新增 Features,YAML 元数据的加强版,增加了属性的数据类型,对 Obsidian 中的数据增加了 UI 界面,Obsidian 的数据大一统时代到来。
属性的语法和编辑
在 Obsidian 中,您可以通过在笔记文件的开头第一行(必须是第一行)添加一段 YAML 元数据块来定义笔记的各种属性。这个元数据块由三个破折号 "---" 分隔符包围,并且位于文件的开头,如下所示:
[!note] 注意 ✨新增 Features
在新版 1.4 版本后,输入---
后,
- Obsidian 会自动补全剩下的一半,然后会出现属性区的 UI 界面 (注:obsidian 设置 - 自动补全 markdown 语法)
- 在 key 字段的地方会自动识别,已经输入过的字段。
- 在 value 值的地方也会自动识别,并补全已经输入过的值
注意 ✨新增 Features
在新版 1.4 版本后,输入 ---
后,
- Obsidian 会自动补全剩下的一半,然后会出现属性区的 UI 界面 (注:obsidian 设置 - 自动补全 markdown 语法)
- 在 key 字段的地方会自动识别,已经输入过的字段。
- 在 value 值的地方也会自动识别,并补全已经输入过的值
1/3 典型的 frontmatter YAML 定义: 现在推荐使用属性面板编辑 YAML 区域,会自动纠正语法和补全语法格式。
---
alias: "document"
last-reviewed: 2021-08-17
thoughts:
rating: 8
reviewable: false
---
2/3 以上定义了几个字段,具体含义如下:
alias
是一个文本,因为它被包装在 “” 中last-reviewed
是一个日期,因为它遵循 ISO 日期格式thoughts
是一个对象字段,因为它使用 YAML 前置对象语法
3/3 我们想查询 thoughts.rating 为8
的结果,以列表样式显示。
```dataview
LIST
WHERE thoughts.rating = 8
```
LIST
WHERE thoughts.rating = 8
[!warning] 字段也可以是中文
注意:我们也可以直接用中文作为值
字段也可以是中文
注意:我们也可以直接用中文作为值
1/3 定义 frontmatter YAML
---
别名: "文档"
最后审查: 2021-08-17
想法:
等级: 8
可审查: 否
---
2/3 以上定义了几个字段,具体含义如下:
别名
是一个文本,因为它被包装在 “” 中最后审查
是一个日期,因为它遵循 ISO 日期格式想法
是一个对象字段,因为它使用 YAML 前置对象语法 3/3 我们想查询想法.等级为8
的结果,以列表样式显示。
```dataview
LIST
WHERE 想法.等级 = 8
```
[!warning] 标点符号必须是英文
- 特别注意,在查询和定义是时候,
:
、""
、.
这些符号必须是英文符号- 单词之间用空格间隔
标点符号必须是英文
- 特别注意,在查询和定义是时候,
:
、""
、.
这些符号必须是英文符号 - 单词之间用空格间隔
Obsidian 属性值的数据类型
✨新增 Features
- Text,文本
- List,列表
- Number,数字
- Checkbox,勾选
- Date,日期
- Date & time,日期和时间
为什么要定义属性的数据类型呢?
只有定义了数据类型,才是标准的数据,才方便进行计算和对比。比如日期和日期是可以对比计算的,但是如果字符和日期是不能的。同理,文本和数字也是不能直接进行计算的。
如何打开属性
✨新增 Features
- 属性在笔记的最顶部,就以前的 YAML 区域,如果你切换成源码模式,可以看到以前的 YAML 语法。
- 快速添加属性可快捷键
Cmd/Ctrl
+;
- 单文件属性:命令面板输入
properties
,选择Toggle fold properties in current file
,会在右侧面板打开当前文件的属性。可查看和编辑。 - 单文件属性:在右下角状态栏,会显示当前文件的属性数值。
4个文档属性,
,点击后也可以打开文件属性面板。
Obsidian 自带的元数据 Metadata- 属性值
自从 obsidian 更新到 1.4 版本后,元数据这块升级为 属性区域✨新增 Features ,也发生了一些变化,启用了一些元数据,统一使用新的元数据,大家要注意下使用新版的元数据。
这里也保留旧的用法,方便还没有升级的朋友查阅
Key | Description |
---|---|
单个标签 (1.4 后开始淘汰建议使用 tags) | |
tags | 标签列表 |
单个别名 (1.4 后开始淘汰建议使用 aliases) | |
aliases | 别名列表 |
单个样式。 (1.4 后开始淘汰建议使用 cssclasses) | |
cssclasses | 允许您使用 CSS 代码段设置多个注释的样式。 |
---
alias: Doggo
---
---
aliases: Doggo, Woofer, Yapper
---
---
aliases:
- Doggo
- Woofer
- Yapper
---
---
tag: meeting
---
---
tags: recipe, cooking
---
tags:
- recipe
- cooking
---
cssclass: coffeebean-full-screen
---
新增发布属性
注意下面的属性**✨新增** Features ,需要你使用官方的发布服务后才起作用,尽量平时不要使用这些关键字,避免冲突。
当然也可以保持一致,当你需要发布的时候,直接可以使用。
属性值 | Description |
---|---|
publish | 发布 |
permalink | 链接 |
description | 描述 |
image | 图片 |
cover | 封面 |