筆記方法:基於網狀

15 min read

# review

從上個月知道 Obsidian 後一試成主顧,所以決定來推廣這個筆記軟體,並紀錄一下現在的筆記流程。

基於關鍵字的筆記流程

The Web, The Tree, and The String - Steven Pinker

自從接觸到這段話後,開始反思原本結構化的筆記形式是不是真實符合自己的思考流程,所以年初開始逐步調整自己的筆記方式,從下滿 tag 與分類的形式,變成:

  1. 關鍵字搜尋啟動
  2. 摘要與筆記加深對閱讀材料的印象
  3. 實驗自己不確定的內容
  4. 自由聯想添加其他靈感關鍵字輔助搜尋

試圖讓自己的筆記更貼近網狀的思考方式,並開始將筆記檔名命名成 關鍵字 A, B, C 的形式方便搜尋。只有在需要寫作或特定的專案跟讀書會的需要,才將材料提取成樹狀甚至線狀的文字。

而具體的執行情境大概如下幾種,分別以比較詳細的流水帳形式來分析:

情境一:每日閱讀時新吸收的關鍵字

  1. 看到一個關鍵字或一個點子。
  2. 如果是關鍵字就快速搜尋(e.g. Evernote: Command + J)關鍵字有沒有相關文章。
  3. 如果文章沒有:就 Command + N 開一個檔案貼上 ref(e.g. 通常使用 Rich Url, 有時 Command + L & Command + C) 簡單寫一些筆記。
  4. 如果文章有:就繼續寫在原本的筆記 。
  5. 如果是點子就直接截圖貼進 Eagle 補上連結跟標題。

情境二:遇到一個研究主題想要開始研究

  1. 在 Evernote 快速搜尋該關鍵字會想到的關鍵字 e.g. CSS Grid, CSS Flex, CSS Layout …
  2. Command + N 開一個檔案直接以關鍵字命名 e.g.CSS Grid
  3. 貼相關主題的其他文章 (e.g. Evernote: Command + Option + Ctrl + C)連結、google 查資料貼上 ref 跟實驗材料(e.g. Code Sandbox, github playground repo, 圖)
  4. 當筆記長到一個長度就分割檔案 e.g. CSS Grid 切成 CSS Grid auto-fill vs auto-fit, CSS Grid minmax() 等等
  5. 另外開一個筆記寫成完整的敘述。

情境三:看課、演講、書、論文相對長的知識吸收

  1. Command + N 開一個檔案命名,時間、課程名稱、關鍵字,下  .course Tag
  2. 筆記完成後,快速搜尋相關的關鍵字筆記
  3. 貼課程連結過去

情境四:日常解決一些小問題的速記

  1. command + option + n 快速筆記,第一行打下關鍵字、紀錄 code snippet 或連結跟筆記。
  2. 事後根據內容調整關鍵字,或放入既有關鍵字的筆記。

大概上面四種流程,可以發現,基本上所有筆記的過程如架構提及,是基於關鍵字跟搜尋來啟動,不再對這些資料分類,然後有大量的快捷功能可以快速搜尋、快速連結「非常、非常快」來節約筆記效率。接著就是寫作跟與其他內容上的銜接,希望是 markdown、檔案原生、Code Syntax 的支援。

從以上可以發現,市面上過去有用過得無論是 Evernote, Bear, VSCode Markdown Extension, Typora, Workflowy …. blahblah 暫時沒有完整符合我需求的筆記軟體,所以就持續使用 Evernote 來做筆記管理。

直到最近遇到了 Obsidian 是一個 Markdown 原生檔案為基礎的筆記軟體,給了一個機會去審視這個筆記架構,Obsidian 不使用雲端功能的話是免費軟體,有三大我覺得重要的特色:

  • 以 Markdown 檔案原生檔案來管理
  • 知識網路分析與推薦系統
  • 插件生態系。

原生 Markdown

作為一個很喜歡嘗試新的數位服務的人來說,最怕的就是被綁死在一棵樹上。當很多檔案都被以特殊格式存在一個筆記軟體內,無論是想要在自己的雲端同步 e.g. Dropbox 、跟其他軟體或是部落格服務 e.g. Gatsby.js 一起共用檔案、或是想要轉換軟體的時候,都會有很大的轉換成本。

以 Markdown 為例,除了直接用 VSCode 開啟、或一些 Markdown 的編輯器,例如:Typora。直接以 Markdown 原生檔案的編輯器相對少見,而其中又有好的跨檔案搜尋的更少,之前只有用過 Github 上的一些小專案 e.g. Notable 但使用者體驗不佳(不知道後來有沒有改善 ˊˇˋ)

但 Obdisian 很簡單,只要有一個資料夾放著一堆 Markdown 檔案就可以以這個資料夾作為資料庫來編輯了,整體視窗安排也非常彈性,使用者體驗流暢,同步也可以不放在他的雲端、放在自己的雲端同步資料夾一樣免費,非常自由。

不過在圖片的管理上 Obsidian 就有點略麻煩,由於以檔名作為節點的分析方式,圖片名稱也會被加入,這邊比較好的做法還是使用圖床或是圖片不要在同一個資料夾內,可以再更上層的資料夾,這點還在等作者的更新。

知識網路分析與推薦系統

另外一方面現階段在知識管理上大多還是比較接近資料夾、分類的管理概念,實際使用網路概念的只有很貴的 Roam Research 或是自己另外匯出再另外撰寫 Network 分析的方式來處理。

這點 Obsidian 的網路概念是將一個個檔案作為節點的概念並搭配內文搜尋來推薦連結的方式來做網路分析,並產生出 Graph 的 View:

所以平常寫東西會開這樣三欄式的方式來寫,將管理類的內容放左邊,像是:Starred, Tag 跟檔案列表、右邊放啟發類的內容,像是:連結跟內文搜尋。

中間就可以專注的研究跟寫作啦,需要確認一些連結的時候就快速的 Command + G 看一下圖、或 Command + O 快速搜尋檔案、也可以 Commnad + Shift + F 快速搜尋內文 ,看完就用 Command + <- 回來繼續編輯。

不過使用了一個月,我覺得圖面上的知識網路分析,再有更進一步的篩選器、顯示方式或分析結果之前,對於專案導向構成樹的筆記型態其實幫助有限,由於研究的內容會緊扣著專案目標,所以不太會有圖與想像不一致的情況,也許需要更長期的積累、或是不一樣的生活型態會比較有幫助。

插件生態系

Obsidian 選擇使用插件生態系,對於一個喜歡簡單的人來說,真的很不想要軟體自帶一堆功能在旁邊還不能關掉的感覺,所以基於插件可以選擇開啟還是關閉非常合我的胃口,這也可以讓更多開發者投入開發新的功能,這邊有啟用的插件如下:

  • Star 常用檔案
  • Custom CSS 使用 Atom Theme 微調中間的 Editor 寬度
  • Slides 自帶 Reveal.js Markdown 轉簡報功能(圖片支援有待改進)
  • Page Previews 可以在 Preview Mode 看到連結預覽

… 還有一些預設開啟的插件

而且 Obsidian 作為 Electron App 未來無論要做網頁版、還是要跨平台門檻也相對低,非常令人期待。加上作者現在的開發速度非常快,通常一個月內都會有一版更新,大家也可以在官網上的論壇看到非常快的更新狀態。

用法分享

在基本了解了 Obsidian 的特色之後,下列是我自己使用這個工具上的調整跟過程,概念上,我把 Obsidian 當個人 wiki 一樣在用,只是他又支援了快速連結到其他筆記、快速搜尋與知識網路圖的功能。

首先先從 Evernote 匯出 Markdown,詳細可以參考這篇教學文,但簡言之就是從 Evernote 匯出  .enx 然後匯入 Bear 之後再匯出 Markdown,以前在 Evernote 的內連結會失效,所以這一塊要再另外處理。

這幾天的應用情境:

情境一:每日閱讀時新吸收的關鍵字, 情境三:看課、演講、書、論文相對長的知識吸收

  1. 看到一個關鍵字或一個點子。
  2. 如果是關鍵字就快速搜尋(e.g. Command + O)關鍵字有沒有相關文章,沒有可以直接 Shift + Enter 以搜尋關鍵字新增筆記。
  3. 貼上 ref(e.g. Rich Url) 寫筆記,沒寫加個 #TODO。

情境二:遇到一個研究主題想要開始研究

  1. 開 Graph Mode 跟搜尋看看自己的關鍵字有沒有相關主題。
  2. Command + N 開一個檔案當一個完整文章 Free Writing 或速記也可以。
  3. 從 Back Link 或剛剛 Graph Mode 的印象中輸入 [[ 連結 ]]。
  4. 當筆記長到一個長度就分割檔案,還沒完成加個 #TODO,不確定的就加個 #FIXME。

情境三:日常解決一些小問題的速記

  1. command + N 快速筆記,第一行打下關鍵字、紀錄 code snippet 或連結跟筆記。
  2. 事後根據內容調整關鍵字,或放入既有關鍵字的筆記。

而對於其他各式的檔案,例如:pdf、ppt 則以原始檔案的形式保存在另外的雲端資料夾之中,然後用連結的方式放在 markdown 檔案之中,超然獨立的原生檔案,管理上更容易備份也安心許多。

以上都是非常針對知識處理上的場景,而關於專案管理 e.g. 排程、規劃等等,目前是視合作對象使用的工具,直接跟著用來取代 Evernote,減少工具的複雜度,但理想狀態裡,希望可以選擇一個樹狀的工具來彌補上面概念中的中間地帶,有幾個方向:

  • 自由度高直接的樹狀筆記工具 e.g. Workflowy
  • 基於時間與專案的形式去做樹狀 e.g. Trello 或其他專案管理工具
  • 檔案夾做樹狀整理

以上方式嘗試了一輪,還沒有一個非常滿意的做法,不過選擇一個好的樹狀工具來整合這個網路筆記會是這個系統下一步想要優化的方向。

軟體只是輔助?

電腦輔助人好幾十年了,但近幾年對於人的心智研究卻因為電腦的運作模式又反過來得到啟發,雖然希望透過技術來更切合我們的使用習慣,但有時候會想這些習慣真的是我們最原始的思考樣貌嗎?還是這是後天習得的習慣其實有違天性?變成一個雞生蛋還是蛋生雞的問題。

所以開始嘗試讓資料保持一定程度電腦好解析的狀態不一定是壞事,也許這才是最貼近我們思考的樣貌,也不一定就如我們想像的費時費力,像是:關鍵字式的命名習慣、搜尋導向的資料管理模式等等,然後在設計方法的過程中,用像是 Obsidian 這樣的工具讓轉換更加容易,不失為一種新的可能性。