Exploring TiddlyWiki

In this column last week and the week before I discussed TiddlyWiki, a personal wiki system I think is one of the most compelling ideas I've seen for a long time.

Apparently great minds think alike because I received a letter before Christmas from longtime reader Brandon Sussman (Webster, N.H.), which I somehow missed in the whirl of the holidays. Sussman wrote recommending TiddlyWiki and said: "I think I found the killer app of killer apps … Words like ‘recursive PIM' and ‘one page wonder' are dancing in my head."

Exactly! This tool is that cool. Also, as I discussed last week, so is the amazing (and, remarkably, free) TiddlySpot service.

Now, I have had no major problems getting TiddlyWiki working, but of course, as with all software, YMMV (Your mileage May Vary).

Reader Gordon Andrews (Richmond, Va.) wrote: "I thought you'd found a new type of sliced bread until I went to a few sites and tried to learn what excited you. I downloaded. I set up pages at Tiddlyspot. I tried to find a good tutorial/getting started/beginners guide. I tried to learn. I even joined the discussion group at Google! Right now I think TW is something a sadist should recommend to masochists."

I had a telephone conversation Andrews and he's right. The documentation for TiddlyWiki is pretty weak, but that said, it is a free open source project and, as such, the developers have concentrated on getting it working instead of explaining it. And that's where I come in ….

So far we've discussed what TiddlyWiki is, the Tiddlyspot service, a few "flavors" of TiddlyWiki (original, MonkeyPirateTiddlyWiki, MonkeyGTD and d3 … there are many more), and some of its central concepts (single file implementation, portability, tiddlers, shadow tiddlers, editing). This week, we'll dive a little deeper.

Start by downloading (as I suggested in a previous column) a copy of the standard version of TiddlyWiki and experiment with that. I recommend this approach because TiddlyWiki, when hosted, has some subtleties and gotchas that are different from a locally hosted version of the system.

So, are you sitting comfortably? Then let us begin.

Tiddlers don't, by default, use HTML for formatting, they use something called TiddlyWiki Markup. Although this markup works perfectly well it is a horrible system for the simple reason that every tag has a different structure (see the TiddlyWiki Markup documentation) that is nothing like its HTML equivalent. Having to learn yet another markup language is just plain annoying.

You can, however, avoid this irritation by using regular HTML: You just enclose your HTML in <html> … </html> and voila! You can even mix multiple HTML sections with multiple TiddlyWiki Markup sections.

So, now we've got the basics of content out of the way let's move on to systems stuff. I've already mentioned shadow tiddlers – that is, tiddlers that have system functionality. The TiddlyWiki documentation defines five more components: HTML Templates, Style Sheets, Macros, Plugins and Cookies.

HTML Templates come in three types: PageTemplate, ViewTemplate and EditTemplate. PageTemplate determines the overall layout of the page that displays the TiddlyWiki, while the ViewTemplate controls the layout of each tiddler in the TiddlyWiki. Not surprisingly the EditTemplate tiddler determines how the content of a tiddler is displayed during editing. You can modify these to your heart's content.

Style Sheets are divided into StyleSheetColors, StyleSheetLayout, StyleSheetLocale, StyleSheetPrint and ColorPalette. You can forget about these because there's a Stylesheet tiddler which encompasses all of the functionality of the other style tiddlers and is deemed by the developers as "future- and upgrade-proof".

This is an example of where the TiddlyWiki system demands a lot of creative exploration and experimentation to figure out how to get deep into the system. Despite that, I would say TiddlyWiki in any of its main distributions is extremely serviceable and effective.

Next week we'll start looking at the exciting parts of TiddlyWiki: the Macros, Plugins and Cookies.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2009 IDG Communications, Inc.