Boostnote及對記筆記的思考

這篇文章就是在Boostnote 中寫成的XDhtml

前因後果

有一陣子,我沉迷於「筆記軟件狩獵」中——就是不停尋找各類各樣的筆記軟件,再一個個試用,企圖從中選出一個最強大的。回想起來,我嘗試過有道雲筆記、印象筆記、Quiver、Boostnote、OneNote、Yu Writer、Leanote(在本地搭建),等等。大部分都是淺嘗輒止,例如OneNote,當我發現它不支持代碼塊語法高亮時,就放棄了它。目前仍然在使用的是Boostnote,而且也是最令我滿意的。git

蜻蜓點水

Boostnote自誇爲「for developer」的筆記軟件,除了書寫Markdown以及實時預覽以外,還支持繪圖(UML、流程圖、時序圖)、製表,甚至能夠添加LaTeX公式。github

GitHub上能夠找到官方對Boostnote繪圖能力的簡單示例,但我用得極少。不論是畫UML、流程圖,仍是時序圖,方法都是「寫代碼」。畫UML用的是PlantUML的語法(你甚至能夠在首選項中找到PlantUML服務器的地址),畫流程圖用的是flowchart.js的語法。我本身很喜歡這類語繪的方式,只須要熟悉一下語法,畫起來圖來比鼠標拖拖拉拉不知道要高到哪裏去了。說到時序圖,我更喜歡用sdeditshell

製表只須要敲入豎線和橫線便可。例如,下面的內容編程

|這|是|一|
|-|-|-|
|個|表|格|

在Boostnote中預覽時的效果是以下這樣的瀏覽器

製表在Emacs的org-mode中有更風騷的表現。好比,按下tab鍵可讓光標跳至下一個單元格,同時會自動調整每一列的寬度;甚至,還能夠在單元格中使用公式。服務器

既然能夠嵌入LaTeX,那麼下列的內容編程語言

$$ \LaTeX $$

就可以用來繪製酷炫版的LaTeX logo了,以下所示編輯器

$$ \LaTeX $$ui

只惋惜這玩意兒不是inline的。

Markdown這門標記語言本來也支持代碼塊,但稍微現代的編輯器都應當至少支持語法高亮才行。在Boostnote中即使不進行預覽,代碼塊中的代碼也是彩色的。

Boostnote自動保存筆記內容,這點上每一個人的口味可能仍是不太同樣的。

槽點

儘管能夠將剪貼板中的圖片粘貼到Boostnote的筆記中,卻不能將圖片複製到剪貼板中。惟一的辦法,就是在粘貼了圖片後,按照筆記中的文件路徑,在Finder中找到這個文件,而後再複製。

不像Yu Writer和Typora,Boostnote既不支持目錄也不支持大綱模式。若是用來寫篇幅很長的文章,而且須要頻繁在相距比較遠的章節之間切換的話,會寫得比較辛苦。但也能夠認爲,Markdown,或者說Boostnote這樣的筆記軟件,原本也不適合寫做大型文檔。遇到這種事情,仍是應當出動字處理軟件(好比Word)或者TeX。

Boostnote沒有將筆記的內容以樸素的Markdown形式保存爲一個.md文件,而是存儲成後綴名爲.cson的文件格式。這意味着,即使哪一天有一款完美的Markdown編輯器出現了,也沒法在其中查看和編輯這些Boostnote生成的文檔。

一些胡言亂語

  • 記筆記的目的是什麼?
  • 我對筆記軟件的要求是什麼?
  • Boostnote是最合適的嗎?它又適合作什麼呢?

我不是從入手了Mac以後纔開始記筆記的,在此以前,我用Emacs的org-mode來記筆記,但也許稱其爲FAQ更恰當。使用org-mode,寫做方式、瀏覽方式,以及載體都是一致的——用org-mode的語法來寫做,同時寫下的也就是所看到的(org-mode沒有預覽一說),最後,存儲的也是純粹的、敲入的文本。但用org-mode來記筆記也有本身的缺陷:

  • 在Emacs中瀏覽的體驗不是很是好
  • 不方便使用行內的代碼塊
  • 其它編輯器對.org格式的支持很差
  • 不方便粘貼圖片

所以,纔打算構築新的筆記系統。但新的筆記系統應當不只僅能夠解決org-mode遇到的問題,而是應該貼合個人核心需求才行。我本身曾經總結過,筆記軟件應該知足以下的要求:

  • 支持Markdown,它是一門我所熟悉的、輕量級的標記語言,也被衆多的軟件支持
  • 支持編程語言的語法高亮,畢竟是軟件開發方面的筆記,總會涉及到代碼的
  • 以.md文件的形式存儲。這個一下子再聊聊
  • 支持樹形的文件層級結構,由於我可能會給筆記劃分比較多的層級,但這個也值得一下子聊聊
  • 支持Emacs的keymap,這是我所熟悉的操做方式,減小手離開鍵盤的次數

看下來更像是在物色一款好用的Markdown文件編輯器。但一款優秀的Markdown文件編輯器就會是一款優秀的筆記軟件嗎?我看未必。

實際上,對代碼的語法高亮的要求,暴露了一個關鍵因素,就是:即使我寫入的是Markdown代碼,也但願可以以渲染後的效果展現出來。因此,爲何不直接使用富文原本書寫筆記內容。若是是富文本的編輯器,那麼通常便不會是以樸素的.md文件的格式來存儲的了,但這並無什麼太值得在乎的,畢竟誰也不會閒着沒事就將筆記內容在各個軟件間遷移着玩。

若是是一些能夠公開的筆記,那麼直接記錄到博客中也不失爲一個好辦法——博客能夠被搜索引擎索引,以後若是想要查找記錄過的內容的話,也能夠藉助於搜索引擎強大的搜索能力來實現。不過,現階段,我更喜歡這些筆記是私密的。

個人筆記也幾乎不會與他人分享,所以不論是書寫格式仍是存儲格式,都只須要我本身用着開心就足夠了。大多數狀況下,筆記的用途實際上是代碼片斷,在須要的時候可以複製出來略做修改,用到其它地方——例如粘貼到shell中運行,解決一些臨時的問題。若是不是由於我喜歡記下最終結果的前因後果的話,Boostnote的代碼片斷功能也許纔是最適合個人選擇。另外,因爲大部分的代碼都很是地短,即使沒有語法高亮瀏覽器來也不是大問題,因此語法高亮的須要也就不那麼迫切了。

如今看來,Boostnote並非最合適的(打臉了)。Evernote和Leanote是我用過的筆記軟件中比較強有力的兩個競爭者。因爲Leanote比Evernote支持更多的目錄層級,而且還能夠選擇建立Markdown筆記(而不只僅是富文本筆記),因此我大概會選擇用Leanote來做爲接下來的筆記軟件的主力吧。

後記

用Typora來寫,用ElasticSearch來索引筆記,好像也不錯?!

閱讀原文

相關文章
相關標籤/搜索