Linux.com

Home Learn Linux Linux Tutorials Weekend Project: Set Up a Personal Wiki on Linux with TiddlyWiki

Weekend Project: Set Up a Personal Wiki on Linux with TiddlyWiki

Want to use a wiki to store your notes, thoughts, recipes, or just the best Charlie Sheen quotes you've heard today? Try setting up a personal wiki, like TiddlyWiki. It's easy, lightweight, and you can set it up and customize it in a weekend.

You're no doubt familiar with MediaWiki, the wiki that powers Wikipedia. MediaWiki is a powerful wiki engine and great if you need to share a wiki with a lot of people for work or a project. But it's a bit too heavy for a single-user unless you enjoy maintaining a MySQL database and Web server to run it. It's not ridiculously hard, but it's more work than I feel like doing just for a wiki.

TiddlyWiki, on the other hand, is a single-file download. You open it in the browser and that's it. Why do you need a weekend? Because it'll take a bit to get used to its conventions and it's very extensible.

Starting Your TiddlyWiki

Go to the TiddlyWiki site and look for the incredibly large, blue download button. Click it and save the file empty.html to your disk. How you store it is up to you — what I've done is copied it to a folder named Wikis under my Dropbox folder. (More on that in a minute.) All of the CSS, JavaScript (and of course HTML) is in the file.

Next you'll want to open it in a supported browser. Take note of the list of supported browsers. You'll note that Google Chrome is not on the list of loved browsers. There's a good reason for that — they don't seem to play very well together. I tried TiddlyWiki with Chrome and ran into a few glitches.

Since this is Linux.com, I'll just ignore Internet Explorer and Safari and jump right to Firefox. Open the empty.html file and start editing your tiddlers. Wait, what? Think of tiddlers as the basic content block inside TiddlyWiki, similar to a blog entry or post. Each tiddler can have text content, images, and hyperlinks. They also have categories and tags. The TiddlyWiki folks refer to this as "microcontent."

Start by editing the GettingStarted tiddler by clicking the "edit" button, or by double-clicking inside the tiddler. (Yes, it is a silly name.) You can change the name of the TiddlyWiki and its subtitle. You can also edit the "shadow tiddler" for the main menu. A shadow tiddler is a special entry that has a default value (like the default left-hand menu). So if you want to have a couple of menu entries for Tiddlers that you can always call up from the left-hand menu, you can create links using the shadow tiddler. You can also edit the GettingStarted shadow tiddler to provide the username for signing edits. This probably sounds more complicated than it really is. The best way to learn your way around TiddlyWiki is to jump in and start editing.

When done, click done at the top of the tiddler. Then to the right-hand side of the page, you'll see a menu of options. Here you can save the changes you've made (be sure to save!) and create new journals and tiddlers.

What's the difference between a journal and a tiddler? Journals are special tiddlers that are date-oriented and automatically tagged as a journal. This can be a handy feature to keep a daily log of what you're working on. On the right hand side at the bottom you'll see a set of tabs. One is a timeline, it'll show all tiddlers you've edited. Another shows all tiddlers in alphabetical order, and then there's the Tags tab. Tags will display all of the tags you've used to describe your tiddlers. The journal tag can call up all your daily journals.

Let's talk formatting. When you're editing your wiki, you probably want to know how to do several things — create sections, hyperlinks, include images, and format text. Here's a quick list of the markup you'll probably use most:

  • Sections: Sections use ! to indicate a section. One ! is a top-level section, two (!!) indicate a second-level section, etc.
  • Links: To create a hyperlink for a Web site, use [[Link Name||http://url.com]].
  • For internal links on the wiki, use [[link]] or camelcase (LikeThis) to create a link to a new tiddler. For a link with just the URL you can simply use http://url.com .
  • For directories on the system use: [[directory name|file:///path/to/directory]] .
  • For files on the system use: [[file name|file::///path/to/file]] .
  • To include an image in the page, use: [img[file:///path/to/img.png]] .

For bold, italics, etc., go check the TiddlyWiki markup page. If you're used to MediaWiki, there won't be many surprises.

Modifying TiddlyWiki

Now you can modify TiddlyWiki to suit your needs. On the right-hand side of the page, you'll see an options link. I recommend doing the AutoSave option. If you don't like the animations, you can turn them off here.

The AdvancedOptions allow you to set things like the backupfolder for the extra files that TiddlyWiki uses for backups, number of rows in the edit boxes, character set, and more.

One feature in particular you might want to use is the "Hide editing features when viewed over HTTP." This would allow you to publish your TiddlyWiki over HTTP and only edit it over a secure connection. See the TiddlyWiki site for more on hosting the TiddlyWiki off your computer — or using one of the hosting options that are available.

TiddlyWiki even has an upgrade feature — which is pretty cool, if you think about what you're getting in a single-file program. First, make a backup of your empty.html. The upgrade should run flawlessly, but there's really no sense in tempting fate when you can just make a quick copy of the file. To upgrade, go to the "backstage" button in the upper right-hand corner of the TiddlyWiki page. When you click this you'll see several links, including one that says "upgrade." Click that and then go ahead and click the upgrade button.

Advanced TiddlyWiki

I mentioned using Dropbox. One thing you want to do if you're going to invest any amount of time in building your wiki is to go ahead and make sure it's backed up. What I do is to keep a Wikis directory under Dropbox, with another directory for images and another one for files. Now I can use TiddlyWiki as a sort of a content management, personal information management system that's available from all of my systems with Dropbox.

TiddlyWiki also supports themes and plugins. For themes, check out TiddlyThemes and for plugins you have several options: TiddlyVault, TiddlyTools, and TiddlyHub beta.

Given that TiddlyWiki is a single-file wiki, how do you import themes and plugins? It's easier than you might think. Open the "backstage" menu and then go to Import. Get the URL of the theme or plugin you want to install and provide that URL.

Some URLs may provide more than one plugin. If that's the case, you'll see a list of radio buttons that you can click to select the right ones. As the lengthy list of sites with plugins demonstrates, there's plenty of options for TiddlyWiki plugins.

Summary

I found TiddlyWiki after a long search for a really good way to keep a lot of scattered data — from bookmarks to my addressbook, to notes from interviews. I've got to say that TiddlyWiki is really impressive. If you're in the market for a single-user wiki, this is the way to go.

The other thing I like about TiddlyWiki is that it obviously has a passionate community around it. GIven the number of themes and plugins that are available, I suspect that it's going to be around a very long time and just continue improving. Since it's all standard Web technology (HTML, JavaScript, CSS) it's also something that almost anyone can maintain.

Don't take my word for it, though. Take the weekend and give it a shot!

 

Comments

Subscribe to Comments Feed
  • Will Johnson Said:

    What a pity Tiddlywiki wont work with Linus "out of the box" especially with Firefox :-( You will spend the weekend trying to set up Firefox just to save Tiddlywikis :-( Tiddlywiki on Windows and Mac OS is great and wonderful. On Linux? forget it!

  • Pedro Said:

    I'm a linux newbie. I installed Tiddlywiki in my Lubuntu and it works perfectly. It was easy to install. If I remember correctly I just had to install Java: sudo apt-get install openjdk-7-jdk openjdk-7-jre sudo apt-get install icedtea-7-plugin


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board