Quantcast
Channel: 簡睿隨筆
Viewing all articles
Browse latest Browse all 897

[Obs#26] Dataview外掛: 製作索引筆記利器;動態查詢筆記資料

$
0
0

功能說明

Dataview外掛可將儲存庫裡的所有筆記檔案當做資料表來查詢,可以很方便地製作各式索引筆記,例如:

  • 列出所有 #markdown、#todo等標籤的筆記
  • 列出每個月份新寫的筆記或本月份修改的筆記
  • 列出本月份的日記

Dataview提供了簡化、類似資料庫的結構化查詢語言(Structured Query Language,SQL)的語法,讓我們可以動態的產生查詢結果。

如果Dataview能取得筆記的標題(h2~h6),那麼就可以很方便的在筆記裡插入文章目錄(Table of Contents)了。

安裝

由設定→第三方外掛→瀏覽,找到Dataview後按【安裝】,再啟用即可。

查詢語法

類似資料庫的結構化查詢語言(Structured Query Language,SQL)的簡化語法:

輸出格式 欄名 
from [#tag或資料夾]
where 條件
sort 欄位 [排序]
```dataview
[list|task | table field1, (field2 + field3) as myfield, ..., fieldN]
from #tag or "folder"
where field [>|>=|<|<=|=|&|'|'] [field2|literal value] (and field2 ...) (or field3...)
sort field [ascending|descending|asc|desc] (ascending是預設排序)
```
  • 輸出格式:有三種,list(清單)、table(表格)、task(待辦事項)
  • 資料來源:有#標籤和”資料夾”,可以用 and/or 指定一個以上的來源;””是所有資料夾
  • 欄名:
    • 除了檔案相關的檔名、建檔日期等之外,欄位即為YAML區域內的欄名
    • 可用as 給顯示文字,尚無法使用中文
  • 筆記檔案屬性:
    • file.name: 檔名
    • file.path: 路徑
    • file.size: 檔案大小(位元組)
    • file.ctime: 建檔日期
    • file.mtime: 修改日期
  • file.day: 檔名帶有 yyyy-mm-dd

查詢語法比較

關鍵字 Dataview SQL
選取 list, task, table select
欄位 list, task適用:檔名 *
欄位 table適用:file.path, file.mtime等 指定資料表的欄名
資料來源 from #標籤 或 “文件夾” from 資料表或檢視表
條件 where where
排序 sort order by

範例

1. 日記

列出檔名帶有yyyy-mm-dd格式的檔案。

list from ""
where file.day
sort file.day desc
table file.mtime from ""
where file.day
sort file.day desc

2. 列出標籤#blog的筆記

date、aliases是定義在YAML區域的欄位。

table file.mtime as Modified-time, file.ctime as Created-time, date, aliases
from #obsidian
sort file.name

3. 待辦事項

task from ""

4. 檔名帶有日期

file.day: 檔名有yyyy-mm-dd格式的檔案

list from ""
where file.day
sort file.day desc

5. 日期操作

取出2月18日後的所有修改。

table file.mtime as Modified-Time, file.path as Path
from ""
where file.mtime >= date(2021-02-18)
sort file.mtime desc

table file.ctime as Created-time, 
  file.mtime as Modified-time, 
  file.size as File-size, 
  file.path as Path
from #obsidian 
sort file.name

教學影片

##您可能也會有興趣的類似文章


Viewing all articles
Browse latest Browse all 897

Trending Articles