# 概述 属性用来定义笔记的元信息,例如日期或作者等。 你可以通过属性这个功能来组织笔记。属性包含很多结构化的数据,如文本、链接、日期、复选框和数字。属性还可以与[[第三方插件]]结合使用,这些插件可以处理笔记的属性数据并完成一些有用的操作。 # 在笔记中添加属性 有几种方法向笔记中添加属性: - 使用**添加文件属性**[[命令面板|命令]]。 - 使用**`Cmd/Ctrl+;`**[[快捷键|快捷键]]。 - 从**更多操作**菜单中选择**添加文件属性**(通过三个点图标或右键单击标签页)。 - 在笔记的开头输入 `---`。 添加属性后,文件顶部会出现一行属性框,其包含两个输入框:_属性名称_ 和 _属性值_。 对于名称,你可以选择任何你喜欢的名称。Obsidian 提供了几个内置的属性:`tags`(标签)、`cssclasses`(样式)和 `aliases`(别名)。 选择属性名称后,可以为其赋值。 # 属性类型 除了名称和值外,属性还有*类型*。属性的类型描述了它可以存储的值的种类。要更改属性的类型,点击属性的图标或使用**编辑文件属性**命令。 Obsidian 支持以下属性类型: - **文本** - **列表** - **数字** - **复选框** - **日期** - **日期和时间** 一旦选择了属性类型,所有同一个名称的属性都被设定为该类型。 # 属性格式/语法 属性以 [YAML](https://yaml.org/) 格式存储在文件的顶部。YAML 是一种广泛使用的格式,可供人类和机器阅读。 属性名称与值之间用冒号和空格分隔: ```yaml --- 名称: 值 --- ``` 属性名称和属性值对之间的顺序并不重要,但每个属性名称在笔记内必须是唯一的。例如,你不能有多个 `tags` 属性。 值可以是文本、数字、true 或 false,甚至是值的集合(数组)。 ```yaml --- 标题: 新的希望 年份: 1977 喜爱: true 演员: - 马克·哈米尔 - 汉森·福特 - 凯丽·费雪 --- ``` ## 文本、列表 **文本**和**列表**类型属性中的内部链接必须用引号括起来。如果手动在属性中输入内部链接,Obsidian 会自动添加这些引号,但在使用模板插件时要注意。 ```yaml --- 链接: "[[链接]]" 链接列表: - "[[链接]]" - "[[链接2]]" --- ``` ## 日期、时间 **日期**和**日期和时间**类型属性以以下格式存储: ```yaml --- 日期: 2020-08-21 时间: 2020-08-21T10:30:00 --- ``` 日期信息遵循你操作系统的默认日期和时间格式。你可以在系统偏好设置中更改它: > [! Info]- Windows > **设置 → 时间和语言 → 语言和地区 → 区域格式 → 更改格式** > > ![[Windows-OS-DateTime.png#interface]] > [! Info]- Mac OS > **系统偏好设置 → 语言与地区 → 日期格式** > > ![[Mac-OS-DateTime.png|450]] 启用[[日记]]插件后,日期属性还可以链接到对应日期的日记。 ![[日记#^daily-notes-date]] ## JSON 语法属性 虽然我们建议使用 YAML 语法定义属性,但也可以使用 [JSON 语法](https://www.json.org/)定义属性: ```json --- { "标签": "日记", "发布": false } --- ``` 请注意,JSON 块将被读取、解释和保存为 YAML。 # 高级用法 ## 插入链接 **文本**和**列表**类型的属性可以包含 URL 和[[内部链接]],使用 `[[链接]]` 语法即可插入。 ## 搜索属性 属性有自己的[[属性搜索符|搜索语法]],你可以将其与其他搜索项和搜索符一起使用。 ## 模板 你可以向[[模板]]中添加属性。当你将模板插入当前笔记时,模板中的所有属性都将添加到笔记中。Obsidian 还会将当前笔记中已有的属性与模板中的属性合并。 ## 重命名属性 你可以通过在[[属性列表|全局属性页面]]中右键单击属性来重命名属性。 ## 显示模式 你可以通过转到**设置 → 编辑器 → 笔记属性**来更改属性在笔记中的显示方式。选项包括: - **可见**(默认)— 如果有属性,将在笔记顶部显示属性。 - **隐藏** — 隐藏属性,仍可通过[[属性列表]]在侧边栏中显示。 - **源代码** — 以纯文本 YAML 格式显示属性。 ## 不支持的功能 在 Obsidian 中不支持以下功能: - **嵌套属性** —— 若要查看嵌套属性,建议使用源代码显示。 - **批量编辑属性** —— 可以使用社区制作的工具,如 Python 脚本来实现。 - **属性中使用 Markdown 语法** —— 这是一个故意的限制,因为属性的设计初衷是人和机器均可读的信息。 # 快捷键 见[[笔记属性快捷键]] # 默认属性 Obsidian 附带一组默认属性: - [[tags 属性|tags]] - [[aliases 属性|aliases]] - [[cssclasses 属性|cssclasses]] ## 用于 Obsidian 发布的属性 以下属性可与 [[Obsidian 发布服务]]一起使用: - [[publish 属性]] - [[permalink 属性]] - [[description 属性]] - [[image 属性]] - [[cover 属性]]