Huxzhi

Huxzhi

不是工具难用,不是方法难学,而是不知道去向何方

dataview进阶路线

#视频脚本

#视频脚本

之前做了一个视频,有人问如何入门 dataviewjs

  1. 首先要看得懂 js,了解代理对象,数组的操作
  2. 从简单的 dataview 来,熟悉一下 sql 语句 Data Commands - Dataview
    1. 现成例子,比如显示 3 天内修改的文件等玩转 Obsidian 08:利用 Dataview 打造自动化 HomePage - 少数派
  3. 进阶 dataviewjs ,先在控制台 console.log(dv.current()) 看 md 文件被解析成一个对象,里面有什么属性,看官网也行 Codeblock Reference - Dataview
  4. dv.table 添加样式 Colorcode tasks based on meta data - Dataview Example Vault
  5. 在 dataviewjs 可以执行任何 js,那么,创建按钮(div),调用 ob 的 api 也可以
    1. 调用 dv.api obsidian-dataview/src/api/plugin-api.ts at master · blacksmithgu/obsidian-dataview · GitHub
    2. 想知道 dv 是怎么实现 tasklist 里点击完成后,对应的任务源文件也完成,obsidian-dataview/src/ui/views/task-view.tsx at 3c29f7cb5bb76f62b5342b88050e054a7272667f · blacksmithgu/obsidian-dataview · GitHub
    3. obsidian 的 api 查询 Vault | Obsidian 插件开发文档
    4. 创建并打开文件 app.workspace.activeLeaf.openFile(await app.vault.create(newFilePath+"/Thouhts-" +date+".md","") 目前IO 操作的编程都是异步的了
  6. dataview 还提供了 dv.view 可以执行 js 和 css 文件,更加强大
    1. 比如,根据 dv 提供的数据,用 js 重新渲染了一个页面 GitHub - 702573N/Obsidian-Tasks-Timeline: A custom view build with Obsidian-Dataview to display tasks from Obsidian-Tasks and from your daily notes in a highly customisable timeline