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