自己动手,做一款抬头显示的「Todo Hud」

丰俊文

我用过好多款 TodoList 软件,但事情一多总还是丢三落四,原本计划好要做的事情总是安静地躺在某个角落,等我想起来要去扫一眼的时候,都已快「物是人非」。。。

要是能在桌面上实时显示 TodoList,那该多好!但是 Mac 上做到这一点还真不是一件容易的事,那就退而求其次吧。我想了想,因为公司是使用 Google 办公套件的,自己每天用的最多的软件就是浏览器,要是能在浏览器新开 Tab 页的时候,都能实时显示 TodoList 的话,那就能满足我的需求了。

最简单的 TodoList

说做就做,我要的只是一个简单的 web 页面,在上面:

  • 可以简单展示、创建、关闭待办事项。

  • 为了通用一点,支持用户账号系统(只要最基本的注册、登录、重置密码就够了)。

  • 保证内容的私密性。

所以它不能是一个静态页面,怎么着也要有一个数据库。为了这一点功能,去购买机器、申请域名,甚至还去搞域名备案,实在是不值得,我想 LeanCloud云引擎 应该是最好的选择。

LeanCloud 云引擎提供了多个应用模版,最简单的一个 node-js-getting-started 就已经包括了一个 web app 的基本框架,并且还附带了一个创建 Todo 的简单例子。在它的基础上,再集成了 LeanCloud 自带的账户系统(连重置密码的功能都默认提供,这里不得不说这真是太方便了)。对于内容私密性,我使用了 LeanCloud 数据存储中的「ACL 机制」,让一条待办事项只有它的所有者可以访问,其他人连读取的权限都没有,这样就保证了用户之间的数据隔离。最后,UI 怎么办呢?对于我这样的前端小白来讲,bootstrap-material-design 已经是我能想到的最理想的组合了。

最后做出来的效果是这样:

  • 用户注册

Images

  • Todo List

Images

这个项目的所有代码都放在 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 上设置稍微有点复杂,需要借助其他插件,其步骤如下:

  1. 从 Chrome Web Store 下载安装 Replace New Tab Page

  2. 打开 Chrome 插件管理器(你也可以在地址栏直接输入 chrome://extensions/)
    Images

  3. 点击 Replace New Tab Page 的 Options 链接.
    Images

  4. 在地址栏中输入 https://syncus.leanapp.cn/todos
    Images

OK,一切都好了,从现在开始,你每次打开一个新的 Tab 页,都会首先看到你自己的待办事项。

Firefox 设置

  1. 在 Firefox 上我们也需要安装插件 NewTabURL

  2. 重启浏览器,可以通过 Ctrl+Shift+A 来打开插件管理页面,找到 NewTabURL 并点击 Options 按钮。
    Images

  3. 选择 URL 并输入 https://syncus.leanapp.cn/todos
    Images

Safari 设置

  1. 进入 Safari 的设置页面。

  2. Homepage 框中输入 https://syncus.leanapp.cn/todos,然后把 New tabs open with 中选定 Homepage
    Images

使用中可能的问题

  • Chrome 中 CSS 文件加载不了,页面显示异常

这可能是因为 LeanCloud 文件托管的域名导致的,可以参考这篇文章解决Fix Your Connection is not private error in Chrome.

阅读 4.3k

丰俊文
老码农一枚

十年老码农,互联网创业者

479 声望
57 粉丝
0 条评论

十年老码农,互联网创业者

479 声望
57 粉丝
文章目录
宣传栏