I made another attempt to understand this mode of TiddlyWiki operation, and I’m not happy with the outcome.
Reference official docs:
- https://tiddlywiki.com/#Installing%20custom%20plugins%20on%20Node.js
- https://tiddlywiki.com/#PluginFolders
The docs about plugin folders mention a plugins subdirectory in a Node.js TiddlyWiki. This is great, but after creating an empty wiki, then importing content to it from a single HTML file wiki using the tiddlywiki --load command, all the single tiddler files are dumped into a tiddlers directory, including tiddlers that belong to plugins. You’d imagine that it’s expectable to have them separated in a plugins subdirectory or something, but nada. And tiddlywiki --help load does not tell anything about that.
Next, a quote:
On the server, plugins can be stored as ordinary JSON tiddlers but it is often more convenient to store them as separate tiddler files within folders.
I take the first part of this as a promise that if I have a single HTML file wiki, go to its installed plugins and export one of them as single JSON file, the Node.js TiddlyWiki will be happy to process it as long as it put it inside the plugins subdirectory and reference it in tiddlywiki.info.
I’ve tried it:
{
"description": "Basic client-server edition",
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem",
"tiddlywiki/highlight",
"anacletus/tiddlychess"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
],
"build": {
"index": [
"--render",
"$:/plugins/tiddlywiki/tiddlyweb/save/offline",
"index.html",
"text/plain"
],
"static": [
"--render",
"$:/core/templates/static.template.html",
"static.html",
"text/plain",
"--render",
"$:/core/templates/alltiddlers.template.html",
"alltiddlers.html",
"text/plain",
"--render",
"[!is[system]]",
"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]",
"text/plain",
"$:/core/templates/static.tiddler.html",
"--render",
"$:/core/templates/static.template.css",
"static/static.css",
"text/plain"
]
}
}
, "anacletus/tiddlychess" is my only manual addition to this file, and
$ ls -lh plugins
total 988K
-rw-rw-r-- 1 user users 986K Feb 21 2025 $__plugins_anacletus_tiddlychess.json
So the thing is there, but at startup I get
$ tiddlywiki-5.3.8 mytiddlywiki --listen
Warning: Cannot find plugin 'anacletus/tiddlychess'
There’s also [tw5] Installing plugins on node.js installation - #5 by LoryMoney with a relevant question hanging in the air, in case I interpreted the docs the wrong way and plugins can’t be added from one JSON file but rather from a collection of multiple files containing one tiddler each.