1. 书签插件使用
Obsidian提供了核心插件—书签(Bookmarks),让用户对关注的东西进行标记,可以进一步利用标签组(类似文件夹)进行组织,通过命令或者菜单可以标记:
- 文件(含Markdown笔记文件和非Markdown附件文件)
- 文件夹
- Markdown笔记文件的标题(Heading)、段落(block)
- Obsidian的核心插件-搜索(search)的搜索条件。
2. Dataview插件检索
Dataview插件在文件属性中给出了starred
,这是一个Boolean值,如果文件被书签插件进行了关注,则为true
。
const files = dv.pages().filter(f=>f.file.starred)
dv.header(4,"被书签化标记的文件")
const files = dv.pages().filter(f=>f.file.starred)
dv.list(files.map(f=>f.file.path))
3. Bookmark插件检索
const bookmarkfiles = app.internalPlugins.getEnabledPluginById("bookmarks").getBookmarks()
通过书签插件获取的书签信息,包含了:
- 书签类型(type),包括:file、search、folder、group;
- 文件路径(path)
- 子路径(subpath)
- 标签时间(ctime),number类型的,应该可以使用moment进行转换。
- 标签标题(title),打标签时输入的名字,没有输入为空;
- 标签分组(group),在items中记录了标签的type、path、ctime、title等信息。
下面简单给出了文件类型的标签信息表。
const bookmarkfiles = app.internalPlugins.getEnabledPluginById("bookmarks").getBookmarks();
dv.header(4,"文件类型书签")
dv.table(["标签标题","标签类型","文件路径","打标时间"],bookmarkfiles.filter(bf=>{return (bf.type==='file')}).map(bf=>[bf.title,bf.type,bf.path,moment(bf.ctime).format("LLL")]))
吐槽:文件中已经删除了曾经打标的welcome.md文件,但是还是检索到了书签信息,这应该是一个 bug 吧。