Idle Works, Idle Thoughts

各种笔记和博客系统分析

今早不足5点就醒了睡不着。这些年来,我一直在苦苦寻找一个完美的笔记系统, 却始终不得要领。然而昨天,我认为有个完美的系统,跃然眼前。 每一次,当我发现一块新大陆时,就会辗转反侧,难以入眠。 但这一次,在这个领域,我希望是最后一次。 简单的说,Github Pages + Jekyll + Markdown 是我的最佳选择。

近两年来,我押宝在Evernote,它给了我一片容身之地,让我浮躁的心绪有所安歇, 让我的知识结构更加清晰,也让我的笔记数量在形式上有了实足的长进。 我购买了Evernote的会员,甚至连它的旁支,所谓的飞象马克,我也买了会员。 但Evernote及其同类产品的诸多缺陷,让我如坐针毡,如芒在背。 一个追求完美的人,始终无法忍受那些修补的方案和不近人情的设计。

下面我将简单评价下近10年来我陆陆续续使用过的一些笔记系统。

笔记系统的对比

1. Word - Word已垂垂老矣。使用场合仅限于与我交互的对方要求用Word, 以及一些简单的排版需求,完成后基本都输出为PDF,也绝少需要再次编辑。 为了方便访问,应当把Word文档放在如Dropbox之类的网络硬盘中。 另,WPS提供的Word,要比微软的Office小巧得多, 如果你只是偶尔才用到Word/Excel/PPT之类的Office套件, 那么WPS是个更好的选择。如果你讨厌本地安装,云端的类Word系统也有很多选择。

2. 博客 - 适合发布一些文章,但不适于知识记录与管理。 要确有可写的文字,以及独特的价值,才能吸引到流量。

2.1 WordPress - 自己搭建博客。买一个域名,租一个VPS,安装LAMP套件即可运行。 依然不适于笔记。

3. 纯文本 - 纯文本比Word打开的快,可以用Vim等你喜欢的编辑器编辑, 除了比Word弱了很多之外,和Word没有本质区别。

3.1 VimWiki - Vim的一个Wiki插件,可以在纯文本的笔记间搭建起网状知识结构。 可以输出为HTML发布。如今看来,它其实就是我的最佳选择了。 但年轻那会儿,希望发布一个功能完整的网站,嫌弃VimWiki输出的简陋,放弃了。

3.2 LaTex - 如果你要写一本书,用LaTex也许是个不错的选择,要是写个人的笔记, 那还真是自寻死路了。虽然还是在用纯文本写作,用工具输出,即内容和展现形式分开, 但学习LaTex的成本太高,如果你没有一条路走到黑的勇气,最好趁早放弃。

3.3 HTML - 自己写HTML,辅助以PHP写的简单的Server端脚本。 有很高的自由度,不用存数据库,纯文本+目录结构,清晰简单。 但写HTML,实在是太繁琐了,它会大大打击你写作的兴致。 另外,自己开发实在不如对WordPress做一些简单的配置来得轻松。

3.4 Gitbook - 因为HTML太繁琐,所以我们用简单标记语言写作,如Markdown。 现在已经有很多工具,来把简单标记语言转为各种丰富的输出格式,Gitbook是其中一种。 它支持Markdown,AsciiDoc,并能输出为HTML、ebook、imob等格式。

4. Evernote - Evernote之类的笔记系统,是为笔记而生的,它要帮你记住一切。 然而当你的笔记数量达到数千这个量级后,Evernote的一些缺陷就让人无法容忍了。 爱之深,恨之切。在此我简单罗列Evenote中让我无法容忍之处: 太难写代码类笔记;只能简单分享,不方便发布;有多级tag但无多级文件夹; 有笔记内文本加密,但无文件加密和文件夹加密功能; 数据可导出,但文件夹和标签等信息会丢失。

一个好的笔记系统的定义

就我多年的笔记习惯看来,一个好的笔记系统应当满足以下条件:

Github pags + Jekyll + Markdown 几乎同时满足以上需求(截图一条不满足)。

发布与分享笔记

奥卡姆剃刀原则说,如无必要,不要增加实体。就输出为HTML而言,不需要什么?

1. 目录。仅在首页维护一份目录。在过于庞大的分支,也可有一份目录。

1.1 不需要页面内的目录。大部分的笔记,都应该紧凑。 如果由大量松散主题构成,可以手工编写目录,或拆分为多个笔记。

1.2 不需要侧边目录。无论是把同级文章或文章内的标题作为侧边目录,都是无必要的。

2. 不需要太多的内链。

3. 不需要评论系统。只有拥有庞大的读者群后,才考虑评论系统。

数据迁移

每次换个笔记平台,就会丢失一部份故旧笔记。 好的一方面,是我总在丢弃那些经不起时间考验的东西; 坏的方面,是总在重复工作。因为格式不同,所以每次的迁移都极为痛苦。

但这次,我决定放弃所有的旧数据,不再做任何的迁移。 因此这个站点的内容,将会是全新的。 旧数据就像练习书法时写的草稿,它们的意义, 在于促使你进入一个更新的境界。

(2015年7月30日)