我用過好多款 TodoList 軟件,但事情一多總還是丟三落四,原本計劃好要做的事情總是安靜地躺在某個角落,等我想起來要去掃一眼的時候,都已快「物是人非」。。。
要是能在桌面上實時顯示 TodoList,那該多好!但是 Mac 上做到這一點還真不是一件容易的事,那就退而求其次吧。我想了想,因為公司是使用 Google 辦公套件的,自己每天用的最多的軟件就是瀏覽器,要是能在瀏覽器新開 Tab 頁的時候,都能實時顯示 TodoList 的話,那就能滿足我的需求了。
最簡單的 TodoList
說做就做,我要的只是一個簡單的 web 頁面,在上面:
- 可以簡單展示、創建、關閉待辦事項。
- 為了通用一點,支持用戶賬號系統(只要最基本的注冊、登錄、重置密碼就夠了)。
- 保證內容的私密性。
所以它不能是一個靜態頁面,怎么著也要有一個數據庫。為了這一點功能,去購買機器、申請域名,甚至還去搞域名備案,實在是不值得,我想 LeanCloud 的 云引擎 應該是最好的選擇。
LeanCloud 云引擎提供了多個應用模版,最簡單的一個 node-js-getting-started 就已經包括了一個 web app 的基本框架,并且還附帶了一個創建 Todo 的簡單例子。在它的基礎上,再集成了 LeanCloud 自帶的賬戶系統(連重置密碼的功能都默認提供,這里不得不說這真是太方便了)。對于內容私密性,我使用了 LeanCloud 數據存儲中的「ACL 機制」,讓一條待辦事項只有它的所有者可以訪問,其他人連讀取的權限都沒有,這樣就保證了用戶之間的數據隔離。最后,UI 怎么辦呢?對于我這樣的前端小白來講,bootstrap-material-design 已經是我能想到的最理想的組合了。
最后做出來的效果是這樣:
- 用戶注冊
- Todo List
這個項目的所有代碼都放在 github/syncus 上了,大家可以自行獲取,然后在 LeanCloud 中去部署自己的 web 應用。不過對于想直接試一試的朋友來講,大家也可以使用這個地址 https://syncus.leanapp.cn/todos 來訪問這一在線的 Todo List。
讓 TodoList 抬頭顯示
TodoList 做完了,現在我們要想辦法讓它能夠做到「抬頭顯示」,否則對我來說也沒啥幫助,不過是又造了一個輪子而已。
我做了一個 Chrome 插件,但是因為無法發布到 chrome web store,所以只能放在 github 上共享給大家了:todo_ntp,有興趣的同學把它下載到本地,然后在開發者模式下加入 chrome extension 就可以了。
不過也可以使用別人寫好的插件,以下內容引自 How to Have the New Tab Open a Specific Website Automatically in Chrome and Firefox:
Chrome 設置
Chrome 上設置稍微有點復雜,需要借助其他插件,其步驟如下:
- 從 Chrome Web Store 下載安裝 Replace New Tab Page。
- 打開 Chrome 插件管理器(你也可以在地址欄直接輸入 chrome://extensions/)
Images - 點擊 Replace New Tab Page 的 Options 鏈接.
Images - 在地址欄中輸入 https://syncus.leanapp.cn/todos。
Images
OK,一切都好了,從現在開始,你每次打開一個新的 Tab 頁,都會首先看到你自己的待辦事項。
Firefox 設置
- 在 Firefox 上我們也需要安裝插件 NewTabURL。
-
重啟瀏覽器,可以通過 Ctrl+Shift+A 來打開插件管理頁面,找到 NewTabURL 并點擊 Options 按鈕。
Images - 選擇 URL 并輸入 https://syncus.leanapp.cn/todos。
Images
Safari 設置
- 進入 Safari 的設置頁面。
- 在
Homepage
框中輸入 https://syncus.leanapp.cn/todos,然后把New tabs open with
中選定Homepage
。
Images
使用中可能的問題
- Chrome 中 CSS 文件加載不了,頁面顯示異常
這可能是因為 LeanCloud 文件托管的域名導致的,可以參考這篇文章解決Fix Your Connection is not private error in Chrome.