Wiki software allows groups of people to create and maintain websites like Wikipedia, with many interlinked pages. This happens by writing the source of those pages inside forms provided by the wiki itself, in a simple markup language, without knowing any HTML syntax.

Wiki-like sets of pages can be very useful also to host strictly personal information as one’s private diary, secret recipes, or work notes and contacts.

Many traditional wikis, however, rely on Web and database servers. As such, they are either not worth the effort, or simply too complex as personal systems, for many users.

Another limit of such wikis as single-user systems is that they are only accessible if there is Internet access (when hosted on a real Web server), or on the laptop on which you installed them. Wouldn’t it be useful to carry in your pocket a wiki that surely works on any computer, tablet or smartphone, even offline, with any graphical browser?

Enter portable wikis

It is to fill this need that portable, or single-page wikis were invented. A portable wiki is one, dynamic HTML page that looks and behaves just like a traditional wiki, without relying on any server (more on this in a moment). Being a single page, that is file, such a wiki can be always with you on an USB key, or be backed up as an email attachment.

What makes that single page dynamic, that is capable of including and preserving any new content you add to it along the road, is JavaScript code that almost any Web browser can run. Such code may be either embedded inside the main HTML page, or hosted in a separate file. Of course, in the latter case, we should be talking of single-folder wikis, but the practical difference, in terms of portability and easy backups, would be almost null.

Let’s try the Wiki on a Stick

While the most complete and popular portable wiki right now is probably TiddlyWiki, I tend to prefer WoaS, the Wiki on a Stick. The reason is that something that may always follow you inside a smartphone or USB key… may be lost or stolen just as easily. Therefore, it is essential that all its content is easily encryptable. While TiddlyWiki too can be encrypted, WoaS has a smoother procedure, at least in this period. Here are a few tips to start using this software efficiently, one second after you download it and open it in your browser.

0.1. Set the right permissions!
When you start using WoaS, it will look as in Figure A. Remember to make the WoaS HTML page (“woas-fix.html” in version 0.12) writeable by your account, and immediately give your browser “permission to save data on disk” the first time you open it. Otherwise, WoaS won’t be able to save inside itself whatever you type in it.

Figure A

0.2. How to insert, edit and save text
The dedicated link in the WoaS left column creates new pages. To modify existing ones, just click on the pencil icon at the top, or double-click on the text itself. The editing form has buttons both for XHTML and Wiki syntax (Figure B). My suggestion is to just ignore XHTML and use the Wiki Code buttons until you’ve memorized which markup they produce. At that point, directly typing those characters will make you much faster.

Figure B

0.3. Hyperlinks

WoaS makes linking each internal page to the others as easy as possible. Whenever you need an internal link, click on “Wiki Url” and add, in the pop-up window, first the title of the page to link to, then whatever string you want to be the hyperlink text.

0.4. Images!

Yes, you read it right. Even if a portable wiki is one text file, it can include internal images! Graphic files are converted to text with the Base64 algorithm;, though a procedure to do this is not as intuitive as one may like, it is not difficult either. When you click on Img (include Wiki Image) to add a new picture to your wiki, you will not directly insert that image in the page, as you may expect. You will only insert in the text a markup statement looking like this:

[[Include::Image::startup]]

Then, clicking on that text will open a file selector window: select from there the file you want to insert, click on Embed and WoaS will both save that image inside itself in the Base64 format (Figure C), and display it in the current page.

Figure C

Once an image has been embedded, it can be included in any other WoaS page with only the inclusion statement:

[[Include::Image::image_name]]

0.5. Security and encryption

Before encrypting pages, you must set a password by clicking on the key button. Then, to encrypt the current page with that password, click on the lock button.

You may set different passwords for each page (Figure D) but don’t forget that WoaS always uses the last one you inserted! If you encrypt one page with a password, then another page with a different one, you will have to set back the password to the first value in order to reopen the first page!

Figure D

To know more about WoaS security, do read the dedicated page. And don’t forget to also use other measures (encrypted volumes, steganography and so on) to protect your portable wiki in the best possible way!

0.6. Customization

WoaS supports JavaScript plugins: the distribution includes, among others, scripts for syntax highlighting, MathML, word count and footnotes. You can (and should, since you’ll work much faster) also associate each plugin to your preferred hotkeys in the WoaS::Hotkeys page, following the embedded instructions.

0.7. Look often at the embedded help!

WoaS can do much more than I’ve explained here, and includes a pretty complete user manual right behind the “WoaS::Help::Index” link. Take the time to study it!