我的筆記軟體Obsidian

知道Obsidian 之前,想到要寫日誌就會想到Dayone,想到寫個筆記就會打開手機內的特定軟體比如Evernote或是iPhone內的Notes。 直到有一天我發現Dayone出了Dayone2!接著宣布Dayone不在更新..我之前一次買斷的Dayone升級成Dayone2…變成了訂閱制…. 而Evernote更絕~本來就需要訂閱,但後來取消訂閱之後你的筆記就被降級功能還要重新訂閱才能打開…. 那我想到如果使用免費的網路社群平台做日誌或筆記呢? 代價就是交出隱私吧~我將完全無法掌控自己的資料及隱私狀態。另外如果手機太老舊了還要被強迫更新才能繼續使用~~此外,那天一早醒來當我打開社群霉體,卻發些我被盜帳號、或因某些原因被社群平台封鎖帳號刪除…那大概腦中就會一片空白吧…. 什麼時候開始,在自己手機使用這麼簡單的功能都要每月訂閱或連上網路使用社群霉體?常常想著…或許這是手機及軟體公司聯合替我製造了一個虛擬的農場,而我們是農場裡面的幫他們生產雞蛋賺錢的母雞吧?? 哲學家康德說:世界,是被我所認識的世界。 “The world as it appears to us is the world as it is structured by our minds.” 或許同理:知識,是我所知道的知識。 直到接觸Obsidian後才瞭解,Obsidian的創辦人Steph Ango應該就是對於上述這樣的困擾而創建出Obsidian。 免訂閱 不用訂閱或註冊即可使用,訂閱只是更方便於各平台的同步。(但除了訂閱還是有很多方式可以達到同步). 格式單純 Obsidian資料格式就是一個存在超過20年以上的MD格式(Markdown格式:2004年由約翰·格魯伯John Gruber創建)。Steph Ango強調我們所寫下的筆記格式應該是可以長久流傳而不被特定軟體所轉換或開啟的特定格式。(因為我體驗過Evernote還有Dayone轉移格式的痛苦)。 資料隱私與掌控 所以你的筆記資料就是你電腦硬碟或是手機內資料夾內部單純的MD檔,沒有特殊格式也不會無緣無故因為網路,社群盜帳號或忘了訂閱而無法使用。 知識連結 Obsidian的存在只是幫我們管理與連結筆記跟筆記之間的關係。筆記可以透過Obsidian優異的雙向連結功能。讓我們更快速的找到過去所努力過痕跡,因此之前的筆記資料就不易變為散落在硬碟某個角落的孤兒。 現在閱讀時作筆記~坐公車或散步突然腦中有些靈感~或是寫個日誌我都會打開Obsidian,透過簡單又迅速的紀錄優異功能,串連了許多資訊與知識進而變成了一個第二大腦資料庫。或許這才是科技真正的價值所在吧? 或許我知道的軟體真的不多,也還在持續學習的路上。但真心推薦有閱讀記錄筆記或寫日誌生活紀錄習慣的朋友來嘗試這一個優異的軟體..網路有很多的相關資訊,真的可以嘗試了解看看~

December 12, 2025 · 卡美桑

複習石沈大海的筆記

困擾 Obsidian使用了半年多之後,發現我好像有很多筆記被遺忘在我的資料庫大海內…而且我算滿懶惰的,不喜歡去大海撈針…就算我真的想到有某則筆記,還是需使用查詢功能,其實是很方便沒錯,但我希望資料庫自己提醒我就好,因此又請AI 幫忙了,這個方式對於會寫code的朋友一定會覺得:這樣的基礎,你應該會知道吧?..很可惜我真的不知道…. 所以我請AI協助我寫出:顯示我的資料庫內超過30天沒動過的筆記, 下面是我使用的dataview table file.mday as "最後編輯日" , title, description from "" WHERE file.mtime < date(today) - dur(30 day) and contains(file.path, "Template") = false and contains(file.path, "Attachment") = false and !contains(file.path, "Diary") and !contains(file.tags, "Archive") sort file.mday asc GoogleGemin解釋 它的目的是在你的整個庫中,找出超過 30 天沒有編輯,且不是模板、附件或日記的檔案,並以表格形式列出它們,按照最後編輯日期升序排列。 查詢結果格式 table file.mday as "最後編輯日" , title, description table: 表示查詢結果將以表格的形式呈現。 file.mday: 這是檔案的最後修改日期(Modified Day),它代表檔案內容上次被更改的日期。 as "最後編輯日": 將這個欄位在表格中顯示的標題命名為「最後編輯日」。 title: 這是檔案的標題(如果檔案中有定義 title 欄位的話,否則通常是檔案名稱)。 description: 這是檔案的描述(如果檔案中有定義 description 欄位的話)。 查詢範圍 from "" ...

October 14, 2025 · 卡美桑

在Obsidian實現Dayone的OnThisDay功能

起因 卡美桑個性其實蠻念舊的…所以有了智慧型手機後就有記錄一些日常的活動,當時購買了Dayone app以爲可以用到天荒地老……但好景不常後來Dayone遇到你的日記不是你的日記之app轉月費制問題,當初一次性購買的我滿腔怒火…但畢竟原來功能都一樣,只是不能有月費制的功能,活像一個閹割版….不過畢竟也還是可用,所以也就將就用了…但從那時候開始我心裡就種下"總有一天會被軟體綁架不安的種子" 去年因為購買了[電子書閱讀器],讀到了卡片筆記盒的做筆記方式而接觸到Obsidian,超喜歡Obsidian的簡易Markdown格式,所有的資料都是簡單的md文字檔,真的很便利於管理。 學習使用Obsidian的過程中,有一天發現,要脫離DayOne軟體綁架的控制,只要把日記搬到Obsidian就可以啦~!超開心!!! 但是卻對於DayOne的一個on this day 功能很懷念…因為它可以顯示所有你日記裡面跟今天相同日期的所有日記~這樣的功能很適合做一種類似復盤的回憶感~~ 因此開始爬文,可是這樣的資料好像很偏門…感覺不太多…苦惱之際突然想到使用AI~~~ 老天~~~!整個豁然開朗!AI寫了一堆我看不懂的程式~但是我照著做就可以在我的每個日記md檔內加入 one this day的功能~!!謝謝AI~ 使用方法 以下我會貼出我目前使用的程式碼,你也可以把程式碼丟給AI請他解釋作用,這邊下方我會請Google Gemini解釋程式碼,給你做參考看看。 我使用在日記裡面的程式碼是dataviewjs: // 1. 取得當前檔案的 Diary_time let current = dv.current().Diary_time; // 2. 篩選所有檔案,抓出月與日相同的 let results = dv.pages() .where(p => p.Diary_time && p.Diary_time.month == current.month && p.Diary_time.day == current.day); // 3. 輸出表格 (檔案改成連結) dv.table(["檔案", "日期"], results.map(p => [dv.fileLink(p.file.path), p.Diary_time])); Gemini程式碼逐步解釋 這段程式碼是用於 DataviewJS (一種在 Obsidian 筆記軟體中用於查詢和顯示資料的 JavaScript 語言) 的腳本。 它的核心功能是找出所有筆記中,其 Diary_time 欄位 (可能是日期或時間) 的 月份和日期 與當前正在瀏覽的筆記的 Diary_time 欄位的月份和日期完全相同的筆記。簡單來說,它在尋找所有「歷史上的今天」的筆記。 ...

September 27, 2025 · 卡美桑