索引筆記是一種特殊型態的筆記,它不含內容,而是指向實際內容筆記的鏈接筆記,就像圖書館裡的索引卡。索引筆記的用途是:
- 列出相關內容的筆記清單
- 內容分類供日後方便檢索
- 減少孤兒筆記的產生
索引筆記的內容我以前都是手動自行維護,但我也在嘗試使用Dataview來自動維護,主要使用標籤來分類,逐步形成不同分類的索引筆記。
今天介紹一下我在製作索引筆記上的小小心得,希望能達到斆學相長的目的。
1. 人工建立索引
人工建立索引筆記的較佳步驟是:
- 在筆記分類的索引筆記裡以內部鏈接的形式添加新的鏈接,可視為「登錄、註冊」的操作
- 點擊新的鏈接以建立新筆記
這個人工登錄的流程需要較高的自制力才能形成較好的運作,如果忘了或沒空去登記,新筆記可能就會變成孤兒筆記。
2. 使用標籤以自動形成索引
使用Dataview來形成索引的作法是在新筆記裡提供足夠多的標籤,在索引筆記裡就能用標籤當條件以自動形成索引。
使用Dataview來形成索引的好處是:
- 不用額外花時間在索引筆記裡登錄新筆記
- 因為索引使用的標籤是預先決定的,新筆記的標籤會有已知的侷限,可有效減少標籤的發散
- 能以更有彈性的方式來查詢標籤或更靈活的查詢條件,以形成需要的索引分類
- 索引能依筆記的變化而隨時以Dataview查詢調整
2.1. 索引的階層
為了管理所有的索引筆記,因此建立了第一階層的大類 000-Index。我的需要管理的筆記大部份集中在PARA的Areas和Resources這兩個中類, 每個中類裡又依筆記數量和使用頻率而區分出小類,從而形成三階層的索引筆記體系統,範例如下:
- 000-Index (大類)
- 200-Index (中類)
- 210-Java-Index (小類)
- 210-JavaScript-Index
- 210-Tools-Index
- ...
- 300-Index (中類)
- 310-3C-Index (小類)
- 310-Obsidian-Index
- 310-Tools-Index
- ...
- ...
- 200-Index (中類)
索引筆記必須有 #index 標籤,或建立一個筆記類型的特性,特性值是Index。
2.2. 大分類查詢
- 檔名: 000-Index
- 找出所有的索引筆記
```dataview table join(aliases, "<br>") as Aliases, substring(created,0,10) as Created, substring(modified,0,10) as Modified from #index where type="Index" and file.name!=this.file.name sort file.name ```
[!TIP]+ 建議
在Dataview上方寫下使用的資料來源與條件,如上可減少查看語法的時間
2.3. 中分類索引
- 檔名: 100-Index、200-Index、300-Index
- from #index and #resources
```dataview table join(aliases, "<br>") as Aliases, join(file.tags, " ") as Tags, substring(created,0,10) as Created, substring(modified,0,10) as Modified from #index and #resources where file.name != this.file.name sort file.name ```
- 其下會分門別類以Dataview查詢出所有屬於此分類的所有筆記,例如:
```dataview table join(aliases, "<br>") as Aliases, join(file.tags, " ") as Tags, substring(created,0,10) as Created, substring(modified,0,10) as Modified from ("300-R興趣" or #resources) where type="專案筆記" sort file.name ```
- 在添加標籤的過程中,為防遺漏,因此將分類的資料夾也列入查詢資料源
2.4. 小分類索引
- 檔名: 210-Tools-Index、310-Tools-Index等
- 有足夠多的某類筆記或使用頻率高時,會分出新的小分類
- 列出有 #tool 標籤的筆記,排除同時有 #youtube 與 #windows 的筆記
```dataview table join(aliases, "<br>") as Aliases, join(file.tags, " ") as Tags, substring(created,0,10) as Created, substring(modified,0,10) as Modified from ("300-R興趣" or #resources) and #tool and !#youtube and !#windows where type="專案筆記" sort file.name ```
[!TIP]+ 結論
依需求自行撰寫Dataview的查詢,隨著筆記的演進動態調整,例如依筆記增長而做分類的分割或合併
3. 使用Dataview的問題
- 被Obsidian鎖定(Lock in):Dataview只能在Obsidian裡使用
- 筆記間的階層關係無法表示 (筆記與索引筆記的反向鏈接無法建立)
- Strange New World外掛無法顯示參考數字
- 因為無法找到反向鏈接,因此筆記與索引筆記的關聯圖也不會呈現
- Dataview在閱讀模式時才能搜尋到查詢結果內容
4. 相關鏈接
參考: MOC的组织
5. 教學影片
##
您可能也會有興趣的類似文章
- Obs135|解鎖簡易Dataview查詢:驚人的SQL技巧,使用Query All The Things(QATT)外掛 (0則留言, 2023/08/19)
- Obs131|Obsidian使用Dataviewjs動態查詢的嘗試 (0則留言, 2023/05/27)
- Obs130|用Dataviewjs將Dataview表格產生成Markdown格式,並複製到剪貼簿的技巧 (2則留言, 2023/05/20)
- Obsidian 1.0新手教學—打造個人知識管理利器,專屬的第二大腦 (2022年) (4則留言, 2022/10/22)
- Obs134|用Dataviewjs製作簡單的建檔統計圖-使用Charts外掛 (0則留言, 2023/08/13)
- Obs127|用Templater Hotkeys簡化Obsidian自動化腳本,詳解4個腳本範例 (0則留言, 2023/05/05)
- Obs129|Obsidian除了CSS片段以外的CSS進階用法與兩個CSS外掛 (0則留言, 2023/05/14)
- Obs126|Obsidian 2023/04 7個新外掛介紹與評析 (0則留言, 2023/04/29)
- Obs#120 | Chronology:筆記年表一覽無遺 (0則留言, 2023/03/26)
- [Obs#26] Dataview外掛: 製作索引筆記利器;動態查詢筆記資料 (6則留言, 2021/02/19)
- [Obs#33] Media-Extended:嵌入多媒體檔案的簡單方法 (0則留言, 2021/04/17)
- Obs137|用Dataviewjs讀取CSV資料以繪製統計圖表 (0則留言, 2023/09/03)
- Obs#117 | Obsidian表格攻略與表格就地編輯外掛:Table Enhancer (0則留言, 2023/03/19)
- Obs128|Obsidian Dataview進度條與YAML欄位快速輸入的方法 (0則留言, 2023/05/11)
- Obs#118 | Obsidian超棒的圖形處理 Awesome Image (4則留言, 2023/03/22)