很早之前接触过TiddlyWiki,这个比较特殊的Wiki工具。它的特殊之处在于自包含,并且自繁殖。就像母鸡下蛋一样,你在TiddlyWiki上作了修改之后,可以将新的Wiki作为一个HTML文件下载下来,这个HTML保存着所有的内容,包括刚做的更新。

但是下载HTML这个操作显得有些繁琐。如果忘了下载保存,那么后果就会十分严重,导致你在当前Wiki的编辑丢失。为了解决这个问题,有各种各样的第三方插件来帮助TiddlyWiki做保存和备份操作。

TiddlyWiki5开始,引入了Node.js作为服务端。也就是说,TiddlyWiki开始向传统的Wiki靠拢了。有了Node.js的服务端,在Wiki上所作的修改就可以得到自动保存了,显得十分方便。但是依然保持着自包含的特性,可以把整个Wiki作为一个HTML文件导出。

安装使用

既然是Node.js,则可以使用NPM来安装tiddlywiki:

npm -g install tiddlywiki

这样就可以安装了一个命令行tiddlywiki以供使用。

下面的命令创建了一个新的wiki叫做mynewwiki,并在端口8080开启服务

tiddlywiki mynewwiki --init server
tiddlywiki mynewwiki --listen port=8080

想查看相关命令的帮助,可以使用命令:tiddlywiki --help listen

插件相关

https://tiddlywiki.com/#Plugins可以找到插件安装指南。插件安装的方式有两种,一种是在TiddlyWiki的Web界面上安装:

  • 可以在$:/ControlPanel中点击Get more plugins来直接从官方插件库安装插件。具体参考Installing a plugin from the plugin library
  • 如果不从插件库安装,操作也挺方便,根据文档Manually installing a plugin,只要将插件作为tiddler拖到当前wiki中就行了。文档所举的例子是https://tiddlywiki.com/plugins/tiddlywiki/katex/。可能需要重新加载页面
  • 主题也是一种插件,安装主题的话也可以用拖动,以$:/themes/tiddlywiki/centralised为例,要将目录,而不是styles.tid拖入到目标wiki就行了。

如果是跑在node.js之上的tiddlywiki,还有第二种安装方式,就是修改tiddlywiki.info来开启相应的plugin(参考 Installing custom plugins on Node.js,这样的话插件就不是以tiddler方式存在了):

{
	"plugins": [
		"tiddlywiki/codemirror"
	],
	"themes": [
		"tiddlywiki/vanilla",
		"tiddlywiki/snowwhite"
	],
    "languages": [
        "es-ES",
        "fr-FR",
        "en-EN"
    ]
}

对于不包含在NPM包中的插件,如果要在node.js环境下安装,需要参考Installing custom plugins on Node.js

一些心得和提示

  • Windows暂不原生支持tmux或者screen这种终端复用软件,暂且使用Vim的标签页和内置终端来在一个控制台启动多个窗口
  • tiddlymap是一款有趣的画图插件,采用的是Vis.js作为引擎。
  • TiddlyWiki自己的格式可以在Formatting text in TiddlyWiki,通过安装插件可以使用Markdown来编写内容。具体参考WikiText

一些链接:

(本篇完)

2022-04-06更新

根据Installing TiddlyWiki on Node.js, 只消使用tiddlywiki mynewwiki --build index或者在网页中点击save changes,即可将nodejs版的TiddlyWiki转为单html页面。

其他参考:

(更新完)