Note Up, powered by TiddlyWiki5

nodejstiddlywiki5

I have a very volatile short-term memory, so I use various note-taking software and service for braindump. I used OneNote in the workspace in Microsoft, then deployed MoinMoin as personal wiki; recently I tried move everything to nanoc; and I am testing the water in TiddlyWiki5 now.

TiddlyWiki5, aka TW5 thereafter, is the latest version of TiddlyWiki with 25-year long term support, :-). Just as its predecessor, TW5 is a non-linear personal wiki:

  • content is organized as tiddlers
  • and rendered as one single HTML page
  • then consumed by following the links.

Unlike its predecessor, TW5 not only runs in your browser, it is able to run in the server side powered by nodejs. The integration of TiddlyWeb will simplify the code base, and attract more web developers in the long run.

If you take a close look at the HTTP traffic in the developer tools, you will find that the persistence of tiddlers are mere a sequence of DELET and PUT restful commands. This approach is quite efficient and it opens the door for other exciting features in the future, such as MVCC.

TW5 is a bare metal personal wiki, it is not shipped with authentication or authorization component. I built a simple authentication/authorization proxy, tw5-auth to bridge the gap:

  • It assumes you are using Google App for your own domain, just as I do.
  • It uses Google OAuth2 API for authentication
  • If the user is logged with the email account from the specific domain, it is granted with full write privilege.
  • Anonymous user can read, but cannot create or modify the content.

The code is released in MIT license at github, feel free to fork and modify it to meet your own needs. Here is live demo in notes.kunxi.org, architecture as:

tw5-auth deployment