實現了一個快糙猛的個人知識庫

用兩天的空閒時間實現了個人知識管理頁面。位址在: https://chchwy.github.io/note

一直以來都想要個隨時紀錄筆記的地方,有點類似個人維基百科,解決了問題後可以很快隨手記下來,碰到處理過的問題但是忘了怎麼做可以隨手找一下。我找過一些現成方案,都不能滿意。Evernote 算比較接近我的需求,但是 Evernote 文字編輯器萬年不變的爛,絲毫沒有改進的意思,讓人無奈。

我的基本需求如下:

  • 跨平台 (至少要 Windows/Mac/Android)
  • 在線或離線都可以查閱
  • 全文搜索
  • 用 Markdown 格式寫作
  • 好寫好讀,啟動快速

既然找不到現成的方案,於是決定用簡單粗暴的方式自己嚕一個出來。

採用 Jekyll + GitHub Pages 作為基本平台

這個平台的最高原則就是不折騰,實用就好,美觀其次。盡量用最簡單直接的技術,不花我額外的時間維護。Jekyll 是 Github 官方支援的靜態網站產生器,git push 之後自動生成網頁,這樣就不用擔心佈署的問題。而且 Jekyll 允許我用 Markdown 格式寫作,並保有頁面排版的最終控制權。

git 版控管理

採用 GitHub Pages 的直接好處就是必須用 git 管理內容。而 git 本身就是個優秀的文字內容管理系統。克隆下來之後就有本地備份,解決了離線查閱的問題。隨時可以追蹤差異,不需擔心內容遺失,編輯也方便。

全文搜尋

全部內容都渲染到一張網頁上後,直接用瀏覽器的頁內搜尋,這就解決了全文搜尋的問題。為了編輯寫作方便,筆記的原始內容依然分門別類放在多個不同的檔案裡。但是最終渲染時,把內容全部都渲染到首頁上,左側產生一個筆記目錄列表,目錄跟超連結都用頁內跳轉來實現。

待改進的地方

目前想到的可能的問題是:內容組織只有一層。比如說沒辦法先創一個叫做 Web 的大分類,再細分為 html/css/javscript 三個子分類,類似這樣的兩層式架構目前做不到。以目前的內容量尚不是大問題,或許等我筆記內容增多之後,再來看看要不要解決吧。