November 12, 2018

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:

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

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.


wiki tiddlywiki


Previous post
Ejecting a CD stuck in an Apple SuperDrive Since setting up my Roon system, I’ve been re-ripping all my CDs to FLAC format. My Apple SuperDrive stopped reliably ejecting CDs so I ordered
Next post
See you at baty.blog I’m having so much fun using Blot.im for blogging at baty.blog that I’ll be posting almost entirely either there or at micro.blog. Yes, I’ve been