Hosting a TiddlyWiki on GitHub pages
@ Adam Knox | Saturday, Apr 24, 2021 | 4 minutes read | Update at Saturday, Apr 24, 2021

These days we have so much information being thrown at us from all directions that it’s hard to figure out what to do with it. I decided to try hosting an encrypted tiddlywiki with github pages for organizing my life, read on to find out how it’s gone.

What is TiddlyWiki?

TiddlyWiki is a single page wiki. It excels at connecting together complicated data in an easy to consume format. It’s also extensible and has a number of useful plugins already available.

Why I wanted a wiki

This lovely pandemic year has resulted in some difficulty staying on task and have been a bit scatter brained. I was hoping a wiki would be a good way to rein in this scatterbrained and distracted state because it’s easy to drop in some info and forget about things until they can be dealt with properly because they’re now written down and can be filed away for later.

How I set up my Tiddlywiki

There were just 4 things I needed to do to get my wiki up and available when/where I want it in a secure fashion. An empty wiki, github pages, and a couple configurations

Getting your own

TiddlyWiki itself is about as easy as it comes when dealing with installations. Since it’s a single html page, all you need to do is go to this tiddler and click “download empty”, then open the file and that’s your tiddlywiki!

Hosting on GitHub Pages

The great thing about this being a simple html page is that it’s dead simple to host!. This means github pages is a great place to keep it. Just throw it into your .github.io repo (or another repo with pages set up on it).

Keep it secret. Keep it safe.

I’d personally rather keep my wiki contents to myself, and there happens to be a handy tool already in available that will enable encryption for your html page. Follow those instructions, and instead of loading your wiki on open, you’ll be greeted with a password field to decrypt the wiki page.

Updating a github hosted wiki

Where it gets a little bit more interesting (but still pretty easy) is saving. By default, tiddlywiki saves just give you a link to download the html file that has the changes. If this is stored in a github repo, then this system will be pretty cumbersome. Enter the GitHub Saver. Follow those instructions and when you hit your save button, the wiki will directly update the github repo with the new wiki file!

Alternative setups

I took this encrypted github pages approach because I’m not super concerned if someone downloads it and brute forces the encryption and like the convenience of the github pages hosting (also a trusted host). The Getting Started page includes a plethora of other options to set up a tiddlywiki, so if this method isn’t for you, then one of those might be.

How it’s going

Pros

I’ve been thrilled with how TiddlyWiki has been working out. So much so, that I now have both a personal one and a work one. The biggest pros for me have been:

  • It has made saving information that doesn’t really fit cleanly in specific areas a natural process
  • I can find information via multiple routes, a nice feature when storing many different types of data. Options include search, history of most recently opened tiddlers, following links in other tiddlers, and tags
  • Has been great for time management, tracking task status, meeting notes, learning notes, and linking everything together
  • Accessible anywhere with internet and on multiple devices

Cons

The only real cons I’ve come across have been that github seems to be rate limited so sometimes I have to wait to make saves, and saves aren’t automatic when using the github saver. This is kind of good too though because the method of saving means multiple instances open could cause old data to overwrite new data. An improvement would be to reload when the github repo gets an update.

Recommendation

Overall, TiddlyWiki has been a great experience. For my use cases the saving issues haven’t really cause me much trouble and I’ve been significantly more organized. It’s very easy to setup, so definitely worth giving it a shot!

© 2019 - 2021 Adam Knox

Powered by Hugo with theme Dream.

avatar
Interests
  • Yoga/Somatics ☋ Running ☊ Biking ☋ Health
  • Software Development ☊ Electronics
  • Minecraft ☋ Drumming
  • Photography ☊ Travel
  • Finance ☋ Psychology
  • New Experiences
  • Tea ☊ Coffee
Timeline
  • 2019 🕸 Created Pointer - A Dart/Angular app for pointing stories with a distributed team
  • 2019 🕸 Founded adamknox.ca on Github pages and Hugo
  • 2018 👷 Senior Software Development Engineer in Test at Workiva
  • 2016 👷 Software Development Engineer in Test at Workiva using Docker, Python, Go, Dart, Big Query, and AWS
  • 2014 🕸 Created Stat View - A chrome extension for making devops on appengine easier
  • 2014 🕸 Created Path Analyzer - A tool for tracing function calls through python code
  • 2013 👷 Software Developer at Vendasta using Javascript, Python, Docker, Big Query, GAE, and SASS
  • 2013 🎓 Graduated from University of Saskatchewan - Physics
  • 2013 🕸 Founded quotidion.info - backed by Python on Google Appengine
  • 2012 🎓 Graduated from University of Saskatchewan - Computer Science
  • 2012 👷 IT Summer Job for University of Saskatchewan Facilities Managament - Switch division to thinapps
  • 2011 👷 IS for Saskatoon Public School Division - Update all schools networks & build VB.NET/MySQL chat app
  • 2009 👷 IT Summer Job for City of Swift Current - Update computers and OS for all city service
  • 2007 🎓 Graduated from Swift Current Comprehensive High School
  • 2007 🏆 Won Skills Canada Saskatchewan electronics competition
  • 2006 👷 First commisioned work - PHP/MySQL inventory tracking system
  • 2005 🕸 Created the “VME Panel” Content Management System via PHP/MySQL
  • 2005 🎓 University of Calgary Summer C++ Camp
  • 2004 🎓 University of Calgary Summer Photoshop/DarkBasic Camp
  • 2004 🏆 Participated in Skills Canada Saskatchewan web design competition
  • 2004 🕸 Founded switchskate.net
  • 2003 👷 First Google Adwords Cheque
  • 2003 🕸 Founded skate-world.net
  • 2001 🤦 Discovered building websites with geocities, and how to rack up a large dial-up bill
Me

Hi! I’m Adam and I hope you can get some value out of the collection of information I’m building here. I’m currently a Senior Software Development Engineer in Test with Workiva during the day and during the evenings I’m learning about a variety of subjects, relaxing, or honing some kind of skill. I would like to keep primarily focused on software development, but photography and cooking are going to show up a lot too.