求Yaml的案例分享

因为纯文本的限制,在ob中许多卡片的信息需要保存在Yaml区域中。但Yaml区域如何书写,需要包括哪些内容可能值得讨论?
本帖的目的想请大家分享一下自己Yaml区的文字,以及这些字段可以如何(搭配插件)使用。
我先抛砖引玉,我的Yaml区域如下:

---
title: 
uid: 202109131125
aliases: []
tags: []
from: 
---

其中各区域用处如下
title:长期放空
uid:时间戳
aliases:别名,ob软件本体支持
tags:标签
from:手动输入信息来源,一般用于剪藏

13 个赞

主要就是dataview用吧?
再有就是发静态blog时方便一些,直接复制过去了

抛砖引玉。这是我为输入类型的笔记设计的yaml,用于dataview方便从输入类型(文章、书、video、podcast)、时间范围、标签、作者来检索我的输入笔记。

---
UID: {{DATE:YYYYMMDDHHmmss}}
aliases: []
tags: []
作者: 
来源: 
内容类型: 
---

用法比较个人,但也是阅读笔记比较通用的字段了。

1 个赞

使用YAML还有一个好处就是可以利用 Obsidian Advanced URI 来实现外部指定笔记的跳转,而且跳转的依据是 YAML 内的内容。

之前反复修改几个月,最后用的一套自己琢磨的节点体系,之前也发帖水过。

通用(需插件templator,下同)

title: <% tp.file.title %>
created: <% tp.file.creation_date(“dddd YYYY-MMDD-HHmm”) %>
modified: <% tp.file.last_modified_date(“YYYY-MMDD-HHmm-ss”) %>
aliases:
cssclass: img-grid

<% tp.file.title %>

Root:: <% tp.file.cursor(1) %>
Father:: <% tp.file.cursor(2) %>
Related:: <% tp.file.cursor(3) %>
Sibling::
URL::
Attachments::

<% tp.file.cursor(4) %>

阅读笔记

title: <% tp.file.title %>
created: <% tp.file.creation_date(“dddd YYYY-MMDD-HHmm”) %>
modified: <% tp.file.last_modified_date(“YYYY-MMDD-HHmm-ss”) %>
aliases:
cssclass: img-grid

<% tp.file.title %>

Root:: [[in MOC]]
Father:: [[readingNotes MOC]]
Related:: <% tp.file.cursor(1) %>
Sibling::
URL::
Attachments::
Publisher::
Version::
Author:: <% tp.file.cursor(2) %>
Classification:: <% tp.file.cursor(3) %>
State:: <% tp.file.cursor(4) %>
Start Date:: <% tp.file.cursor(5) %>
End Date::
Rating::

<% tp.file.cursor(6) %>

总结

title: <% tp.file.title %>
created: <% tp.file.creation_date(“dddd YYYY-MMDD-HHmm”) %>
modified: <% tp.file.last_modified_date(“YYYY-MMDD-HHmm-ss”) %>
aliases:
cssclass: img-grid

monthly summary-<% tp.file.creation_date(“YYYY-MMDD”) %>

Root:: [[my records MOC]]
Father:: [[monthlySummary MOC]]
Related:: [[myReviews MOC]]

总结

  1. <% tp.file.cursor(1) %>

计划

心得

视野

3 个赞

我最常用的是论文笔记的yaml,其实专著类和零散笔记也大差不差都是类似的内容:

---
created_at: {{date:YYYY-MM-DD HH:mm}}  
type: paper
title: ""
authors: []
year: 
alias: []
status: 
---

各项的应用场景:

  • created_at: {{date:YYYY-MM-DD HH:mm}} :标记当前笔记创建时间。
  • type: paper :该文献的类型,一般包括paper、dissertation、book、lecture等。
  • title: "" :该文献原标题。为了引用时形式简短,我的论文笔记文件名都采用BibTex格式,因此有必要在此处记下原标题,以便在Dataview中展示时可以获取标题。
  • authors: [] :文献作者。
  • year: :发表年份。
  • alias: [] :多用于专著和主题汇总笔记,因为会存在中英文名称不同的情况。
  • status: :用来标记“重要”或“有问题需重读”之类的特殊状态,用于Dataview获取时做筛选条件。

另外之前有小伙伴希望在yaml中加入[[]]的双链形式,目前应该是无法在该笔记中生成关联的;但如果只是想标记在这里,之后用Dataview获取之后显示出可以点击的链接的话,请用双引号把双链括起来,即"[[]]",这样Dataview会把它当做文本抽取并展示,然后Obsidian会自动将其分析为双链。不加双引号的话获取到的[[]]是无法点击跳转的。

9 个赞

我是考虑了迁移和自己的习惯,用dataview的::来提取信息。YAML只用了ob支持的alias和tag。最基本的模板下是只有卡片编码,关键词,来源这些信息。

---
aliases: 
tags: 
---
ZK-ID:: {{date:_YYMMDD.HHmmss}}
CLC-ID:: {{date:_YYMMDD.HHmmss}}
Keys::
Source::

卡片编码是 x.xx.xx_日期 的形式,日期自动生成,前面手动填写。
根据不同的类型再套用别的模板添加在下面,例如读书笔记模板等……
其实输入tag时候感觉想把tag也拉出来,这样能直接#出现选项。 :joy:

2 个赞

不一定,例如timeliness也需要用到。

通用 YAML 的 Modified 字段有些问题,一旦插入之后就不会改变了。Templater 提供一种动态命令,即 <%+ tp.file.last_modified_date()%>。但是这个命令在 YAML 中失效了,只有在模板正文中起作用。
目前没有想到一种好的解决方案,一种折中的方法是使用 Modified:: <%+ tp.file.last_modified_date()%>,但是这样又会和其他的 YAML 属性分离,而且会出现在正文中。

1 个赞

是的,我也发现这个问题,似乎没什么好的办法解决。好在这个字段相对不是那么重要,若要查询也可以在文件属性里看最近修改时间

同时写一些 hexo 的 blog ,就直接用的 hexo 生成的格式. 完全看个人需求,目前暂时够用

---
title: temp
categories:
  - temp
abbrlink: 123456
date: 2021-05-07 12:00:00
updated: 2020-09-02 13:00:00
---

obsidian-prettify 这个插件不是可以修改,编辑时间么! 模板创建 note 后,时间类型的元数据如何~~自动更新?~~ 已解决 这个帖子就是他在配置这个插件

YAML字段作用个人理解

字段用中文与英文都可以
打分范围: 0分 - 10分

title — 主题

说明:文章的主题
作用:一眼就能看懂本文在讲什么
打分:5分

uid — 创建时间

说明:文件的创建时间
作用:通过对同一时间创建文件的查看,总结当时在研究什么
打分:4分

source — 来源

说明:文件内容的来源位置
作用:方便去查找原来引用的位置
打分:4分

tags — 标签

说明:文件的几个小的主题
作用:用多种方式对文章进行分类,可以从其他角度找到这个文章
打分:8分

explain — 说明

说明:一句话总结文件内容的中心思想
作用:一眼就能看懂本文在讲什么
打分:5分

<!--210914_194501-->

说明:对新加的话,添加一个修改时间
作用:可以看出来文章的怎样变化的
打分:6分

11 个赞

好的,我去测试一下这个插件。:slight_smile:

别的我就不说了, 我只分享一下我对于yaml中标签的快速输入的小小心得,

我像你这样设置了一个模板,但是{{DATE:YYYYMMDDHHmmss}}没有变成数字,是需要什么插件吗?

使用插入模板或者新建文件时使用模板,才会变成当前日期和时间

1 个赞

多谢多谢!!!!

Linter这个插件都解决了!去标签的#,还有时间都搞定了

1 个赞

特别的详细!正在发愁怎么整理自己的Yaml,看了您的这个解析马上有思路了!感谢