# TiddlyWiki

I’m infatuated with TiddlyWiki again. I’ve tried it a few times over the years, but it’s never stuck. One reason was that TiddlyWiki is a single, self-contained html file, and Safari has trouble saving itself to the file system. In order to save the thing I had to basically do a “Save As…” each time. Too much friction there.

Another snag has been that it’s kind of weird. Not weird in a bad way, but weird in a ‘what do I do with this thing?’ way.

A week or so ago I decided to dive back in. The first thing I learned is that TiddlyWiki can be run as a Node app. This means that each “tiddler” is stored separately as a plain text file.

So something like:

 1 2 3  npm install -g tiddlywiki tiddlywiki mywiki --init server tiddlywiki mywiki --server 

Visited http://127.0.0.1:8080/ in a browser and I was off and running. That solved the Safari problem. It also makes it possible to edit the wiki using whatever my favorite text editor is this week, if I were so inclined.

Getting over the strangeness of TiddlyWiki has been a matter of jumping in and using it. I’ve been thinking of TiddlyWiki as a Zettelkasten1, and each tiddler as a “zettel”. This has helped frame things in a way that makes sense to me. Each tiddler represents a single topic or thought or idea.

I’m not sure how far I’d take TiddlyWiki as a Zettelkastan, though. If I were thinking of building a long-term Zettelkastan, I’d probably use something like The Archive.

The other thing I’m learning is that TiddlyWiki is more powerful than a casual look would indicate. Macros, plugins, filters, etc. allow all sorts of custom behavior. I’ve only scratched the surface.

So for fun, I’m occasionally entering stuff in a local wiki, saving the file, and publishing the result at http://wiki.baty.net/. I do this with a small Makefile that looks something like this2

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  PUBLIC_DIR=output/ SERVER_HOST=static.baty.net SERVER_DIR=/home/jbaty/apps/wiki TARGET=Static deploy: commit push @echo "\033[0;32mDeploying updates to $(TARGET)...\033[0m" mv ~/Downloads/Jack\ Baty\'s\ Wiki.html ~/Downloads/tiddlywiki.html rsync -v -rz --checksum --delete --no-perms ~/Downloads/tiddlywiki.html$(SERVER_HOST):$(SERVER_DIR) build: clean @echo "\033[0;32mBuilding site...\033[0m" tiddlywiki ./ --render "[!is[system]]" "[encodeuricomponent[]addprefix[output/]addsuffix[.html]]" commit: git add -A git commit -m "Build wiki date" push: git push origin master clean: rm -rf$(PUBLIC_DIR) .FORCE: 

TiddlyWiki is fun to play with, but I don’t know yet whether I’ll ever use it consistently. So far it feels like I’m using it to write a blog, and the last thing I need is another blog. Still, it has potential.

1. Luhmann’s Zettelkasten M. Kuen, 2007 ↩︎

2. I haven’t figured out the build portion yet. ↩︎