属性允许你组织笔记的相关信息。属性包含结构化数据,如文本、链接、日期、复选框和数字。属性还可以与[[第三方插件]]结合使用,这些插件可以利用你的结构化数据实现各种有用的功能。 ## 为笔记添加属性 有几种方法可以为笔记添加属性: - 使用**增加笔记属性**[[命令面板|命令]]。 - 使用 **`Cmd/Ctrl+;`** [[快捷键]]。 - 从**更多选项**菜单(通过三点图标或右键点击标签页打开)中选择**增加笔记属性**。 - 在文件的最开头输入 `---`。 添加属性后,文件顶部会出现一行,包含两个输入项:属性的*名称*和属性的*值*。 名称可以随意选择。Obsidian 提供了几个默认属性:`tags`、`cssclasses` 和 `aliases`。 选择属性名称后,你可以为其赋值。 ### 属性类型 除了名称和值之外,属性还有一个*类型*。属性的类型决定了它可以存储什么样的值以及 Obsidian 如何处理它们。要更改属性的类型,请点击属性名称旁边的类型图标并选择不同的选项。你也可以使用[[属性列表]]核心插件来管理属性类型。 Obsidian 支持以下属性类型: - **[[#文本]]** - **[[#列表]]** - **[[#数字]]** - **[[#复选框]]** - **[[#日期]]** - **[[#日期 & 时间]]** - **[[#标签]]** 一旦属性类型被分配给某个属性名称,仓库中所有具有该名称的属性都将使用相同的类型。 ## 高级用法 ### 搜索属性 属性有自己的[[搜索|搜索语法]],可以与其他搜索词和运算符一起使用。[[搜索#搜索属性|查看属性的搜索语法]]。 ### 模板 你可以在[[模板]]中添加属性。 当你将模板插入活动笔记时,模板中的所有属性都将被添加到笔记中。Obsidian 还会将笔记中已有的属性与模板中的属性进行合并。 ^templates-properties ### 重命名属性 你可以在[[属性列表|所有属性视图]]中右键点击属性来重命名它。 ### 显示模式 你可以通过 **[[设置]] → 编辑器 → 笔记属性** 来更改属性在笔记中的显示方式。选项有: - **显示**(默认)– 如果笔记有属性,则在笔记顶部显示。 - **隐藏** – 隐藏属性,仍可通过[[属性列表]]在侧边栏中显示。 - **源码** – 以纯文本 YAML 格式显示属性。 ### CSS 代码片段 你可以使用 [[CSS 代码片段]]来更改特定笔记的外观。 ### 暂不支持的功能 Obsidian 目前不支持以下几个功能: - **嵌套属性**:要查看嵌套属性,我们建议使用[[编辑与预览笔记#源码模式|源码模式]]。 - **批量编辑属性**:对于[[属性列表]]之外的深度批量编辑,我们建议使用 VSCode、脚本和社区插件等批量编辑工具。 - **属性中的 Markdown**:这是一个有意的限制,因为属性旨在用于人类和机器都可读的小型原子化信息。 ## 快捷键 ### 添加属性 | 操作 | 快捷键 | |---|---| |添加新属性|`Cmd + ;`| ### 在属性之间导航 当属性处于焦点状态时 | 操作 | 快捷键 | |---|---| |聚焦下一个属性|`Down arrow` 或 `Tab`| |聚焦上一个属性|`Up arrow` 或 `Shift+Tab`| |跳转到编辑器|`Alt+Down arrow`| ### 选择属性 | 操作 | 快捷键 | |---|---| |向上扩展选择|`Shift+Up arrow`| |向下扩展选择|`Shift+Down arrow`| |选中所有元素|`Cmd+A`| ### 编辑属性 | 操作 | 快捷键 | |---|---| |编辑属性名称|`Left arrow`| |编辑属性值|`Right arrow`| |聚焦属性|`Escape`| |删除属性|`Cmd+Backspace`<br><br>如果已选择了属性,则会删除所选内容。| |撤销|`Cmd+Z`| |重做|`Cmd+Shift+Z`| ### Vim(高级) | 操作 | 快捷键 | |---|---| |向下移动|`j`| |向上移动|`k`| |聚焦键名|`h`| |聚焦值|`l`| |聚焦值(光标在末尾)|`A`| |聚焦值(光标在开头)|`i`| |创建新属性|`o`| ## 属性格式 属性以 [YAML](https://yaml.org/) 格式存储在文件顶部。YAML 是一种流行的格式,人类和计算机都可以轻松阅读。 属性名称与其值之间用冒号加空格分隔: ```yaml --- name: value --- ``` 虽然每个名称-值对的顺序无关紧要,但每个名称在笔记中必须是唯一的。例如,你不能有多个 `tags` 属性。 值可以是[[#文本|文本]]、[[#数字|数字]]、[[#复选框|复选框]]、[[#日期|日期]]、[[#日期 & 时间|日期和时间]]或[[#列表|列表]]。 ### 文本 文本属性包含单行文本。Markdown 格式不会在文本属性中渲染。在文本属性中使用井号不会创建标签。 文本属性可以包含 URL 和使用 `[[Link]]` 语法的[[内部链接]]。文本属性中的[[内部链接]]必须用引号括起来。如果你手动在属性中输入内部链接,Obsidian 会自动添加引号,但在使用模板插件时请注意手动添加。 ```yaml --- title: A New Hope link: "[[Episode IV]]" url: https://www.example.com --- ``` ### 列表 列表属性包含多个值。列表中的每个值单独占一行,前面有一个短横线(-)和一个空格。 列表值可以包含文本、数字和[[内部链接]]。在列表属性中使用[[内部链接]]时,请用引号括起来。 ```yaml --- cast: - Mark Hamill - Harrison Ford - Carrie Fisher links: - "[[Link]]" - "[[Link2]]" --- ``` ### 数字 数字类型的属性必须始终是字面数字,不能是包含运算符的表达式。整数和小数都可以使用。 ```yaml --- year: 1977 pie: 3.14 --- ``` ### 复选框 复选框属性的值为 `true` 或 `false`。在实时预览中,它会显示为一个复选框。 ```yaml --- favorite: true reply: false last: # 不确定的值;通常被视为 false ``` ### 日期 日期属性以以下格式存储: ```yaml --- date: 2020-08-21 --- ``` 日期选择器遵循你操作系统的默认日期和时间格式。你可以在系统偏好设置中更改: > [!info]- Windows > **[[设置]] → 时间和语言 → 语言和区域 → 区域格式 → 更改格式** > > ![[Windows-OS-DateTime.png#interface]] > [!info]- Mac OS > **系统偏好设置 → 语言与地区 → 日期格式** > > ![[Mac-OS-DateTime.png|450]] 启用[[日记]]插件后,日期属性还将作为指向该日期对应日记的内部链接。 ![[日记#^daily-notes-date]] ### 日期 & 时间 日期和时间属性同时包含日期和具体时间,以以下格式存储: ```yaml --- time: 2020-08-21T10:30:00 --- ``` 与[[#日期|日期属性]]类似,日期和时间选择器遵循你操作系统的默认格式。你可以在系统偏好设置中更改。 ### 标签 标签属性是一种特殊的属性类型,专用于 `tags` 属性。此属性类型不能分配给其他属性。 标签属性的格式为列表,每个标签单独占一行,前面有一个短横线(-)和一个空格。 ```yaml --- tags: - journal - personal - draft --- ``` `tags` 属性是 Obsidian 的[[#默认属性]]之一。有关在 Obsidian 中使用标签的更多信息,请参阅[[标签]]。 ### JSON 属性 虽然我们建议使用 YAML 来定义属性,但你也可以使用 [JSON](https://www.json.org/) 来定义属性: ```json --- { "tags": ["journal"], "publish": false } --- ``` 请注意,JSON 块将被读取、解析并保存为 YAML。 ## 默认属性 Obsidian 自带一组默认属性: | 属性 | 类型 | 描述 | | ------------ | ---- | ------------------------------------------------------------ | | `tags` | 列表 | 参见[[编辑与格式化/标签\|标签]]。 | | `aliases` | 列表 | 参见[[别名]]。 | | `cssclasses` | 列表 | 允许你使用 [[CSS 代码片段]]为单个笔记设置样式。 | ### Obsidian Publish 的属性 以下默认属性可与 [[发布服务简介|Obsidian Publish]] 一起使用: | 属性 | 描述 | | ------------- | ---------------------------------------------------------------------------------------------------------- | | `publish` | 参见[[发布笔记与取消发布#自动选择要发布的笔记\|自动选择要发布的笔记]]。 | | `permalink` | 参见[[永久链接\|永久链接]]。 | | `description` | 参见[[自定义分享链接#Description\|Description]]。 | | `image` | 参见[[自定义分享链接#Image\|Image]]。 | | `cover` | 参见[[自定义分享链接#Image\|Image]]。 | ### 已弃用的属性 这些属性在 Obsidian 1.4 中已弃用,应替换为现代等效属性。Obsidian 1.9 中不再将其作为[[#默认属性]]提供支持。 | 属性 | 描述 | |-|-| | `tag` | `tags` 的已弃用别名。 | | `alias` | `aliases` 的已弃用别名。 | | `cssclass` | `cssclasses` 的已弃用别名。 | > [!tip] 如果你需要将仓库中的文件转换为[[#默认属性]]格式,可以使用 [[Markdown 格式转换器]]来批量更改你的仓库。