This is the biggest problem, from a technical standpoint, since HTML doesn't allow you to save files. Or indeed, save data locally. So there were a couple of possible approaches:

  • Use local storage - but be confined to a single browser
  • Transmit to a server - requiring connectivity
  • Use browser-specific "hacks"
Since the first two were no-goes, and against the spirit of what I was trying to do. I did spend some time looking into SPA's and related tech, but nothing provided a nice simple "this is how to do it" type of answer. However, I was also fortunate to recall a talk I'd seen at OpenTech in 2008. (Where I won some books for HIWI, a method to create images without images.)

Tiddlywiki provided a single page wiki that saved its state back to the same location as it from being run from! So I grabbed the source and pulled it to bits. There are basically three solutions:

  • Mozilla uses a custom extension called UniversalXPConnectr
  • IE uses an in-built feature of ActiveX
  • Chrome/Opera use a small Java stub"
I hacked around in the core Tiddlywiki code until I was happy I understood it. I then removed the code, and refactored it into several files and built the 'TiddlyIO' library, downloadable below, which you might useful.

Download tiddlyio-1.0.zip
Released under the BSD license, like Tiddlywiki