本期,我们来了解一个拥有 16 年历史的非传统笔记工具:Tiddlywiki。由于 Tiddlywiki 历史悠久,功能重多,我不可能在一期会员通讯里详细展开,这一期仅仅是一个入门指南,后续我会梳理更多进阶的内容。
Tiddlywiki 是一位名叫 Jeremy Ruston 的英国开发者开发的开源软件,它定位于个人 wiki,其官网定义的口号为「a non-linear personal web notebook(一款非线性的个人网络笔记本)」,第一版发布于 2004 年 9 月 30 日,你可以在 Github 上查看该项目的源代码。
Tiddlywiki 的特别之处在于,它的所有功能、模块集成在一个初始只有 2M 的 HTML 文件里,这也使得 Tiddlywiki 天然具备了开放、跨平台、数据可控的特质,下图就是 Tiddlywiki 的初始界面,你需要做的就是编辑这个 HTML 文件,然后保存即可。
你可以使用任何一个支持 HTML 的编辑器编辑你的 Wiki,也可以在任何一个能读取 HTML 的软件上查看你的 Wiki,你可以把这个文件放在 U 盘随身携带,或者上传到云存储空间,还可以利用 Git 机制实现版本化的管理。
过去 16 时间里,开发者 Jeremy Ruston 与全球开发者不断优化、拓展 Tiddlywiki 的功能,使其成为业界独一无二的产品。
在软件领域,任何一个工具从第一行代码开始就蕴含开发者或开发商的产品哲学,Tiddlywiki 也不例外。
Tiddlywiki 背后的哲学理念就藏着它的名字里,「Tiddly」在英国俚语里的是指「特别小的东西」,这和这款产品的口号——「a non-linear personal web notebook(一款非线性的个人网络笔记本)」——遥相呼应,简言之:Tiddlywiki 就是适合人类非线性思考特质,从而实现片断性、短小型记录的产品。
这个定位在产品设计中有众多体现,比如,相比于其他笔记工具热衷收藏功能,Tiddlywiki 并没有官方甚至第三方的网页剪藏工具,这个产品更鼓励你自己输入;再比如,Tiddlywiki 也没有提供单条笔记里导航的功能,这也在某种程度上告诉用户:不要把单条笔记写得特别长,这不符合人类非线性思考的特点。
与之相对的,则是 Tiddlywiki 对于笔记之间相互链接、相互调用的精心设计,比如,你可以用「[[你希望的文字|标题]]」的方式将某条笔记链接在一起,你还可以借助「%E6%A0%87%E9%A2%98」将一条笔记嵌入,下图展示的就是把一条关于 Tiddlywiki 插件推荐的笔记嵌入到新笔记里。
Tiddlywiki 支持 Wiki 语法(详细的 Wiki 语法),同时还可以安装插件支持 Markdown 语法,在任意笔记里,你还可以自定义该笔记的「渲染」方式。
很多人诟病 Tiddlywiki 在图片、附件方面支持不够,但正如我在此前探讨笔记原则时所言,Tiddlywiki 的设计理念体现了「记录与参考」的分离。这样的做法,既可以减少资料内容过多占有笔记工具的空间,还能够促使你将注意力集中到围绕参考资料的整理流程里,你每天需要处理的,应该是一系列参考资料的链接(逻辑)关系而非原始内容,通过增删链接,不断调整笔记内容的层次和架构,带动整个笔记流程的优化。
在 Tiddlywiki 的使用过程中,我也在践行这个原则,尽量把自己的想法与参考资料(文档、网页链接、图片等)分开,通过 Tiddlywiki 形成索引,然后利用超链接的形式构建联系,涉及到的工具包括:
基于 Tiddlywiki 开放开源的特性,全球各地的开发者、爱好者们不断拓展 Tiddlywiki 的能力边界,他们的想象力与创造力让这个产品具备无限可能,这里以几个插件为例做一些说明。
Stroll,这是一个增强版 Tiddlywiki 应用,集成了当下热门的双向链接机制,还有大量优化的功能,适合开箱即用,项目地址。
知识图谱插件 Tiddlymaps,可以把笔记里的链接映射为知识图谱,也可以直接在 Map 里通过新建节点的形式建立笔记,详细的教程可通过这一组视频了解。
笔记管理增强插件 Commander,提供了丰富的批处理功能,对于笔记管理效率提升意义重大,项目地址。
项目管理插件 ProjectManager,每个项目与任务都是一个单独条目,还可以设置截止日期,非常灵活,项目地址。
上述这些插件让 Tiddlywiki 早已超越了一个 HTML 的能力,不同需求的用户,都可以借助这些插件、工具构建自己的 Wiki。
Quine 2 是目前 iPadOS 上唯一可以完美编辑 Tiddlywiki 的应用,售价 4.99 美元。
Quine 2 与「文件」应用高度整合,可在「文件」应用里新建、读取、保存 HTML 文件,如果存储在 iCloud 上,则可以实现苹果设备上的数据同步,在 iPad Pro 的修改,数据会实时同步到 iPhone 上。
另外,Quine 2 对于 Tiddlywiki 的支持很完善,可以通过拖拽插件的形式实现安装,同时该应用适配 iPadOS 的多应用窗口特性,用户可以同时打开两个应用窗口进行操作。
值得一提的是,由于 Quine 2 可以打开「文件」应用里的 HTML 文件,因此我们可以通过 Working Copy 与 Quine 2,构建基于 Git 的 Wiki 服务。
如上图所示,通过编辑位于 Working Copy 里的 HTML 文件实现本地文件修改,然后提交到 Github 仓库,从而实现 Wiki 的版本化管理,一旦出现问题,随时回滚。
互联网上关于 Tiddlywiki 的介绍、教程非常多(包括我这一篇),相比于阅读这些教程,我更建议各位亲自尝试一下,实际上手的体验远比我的这些文字有价值,这里还有一大批适合各平台的 Tiddlywiki 工具,绝大多数免费,大家不妨从一个「empty.html」文件入手,感受这个 HTML 文件的魅力。