Skip to content

Instantly share code, notes, and snippets.

@ralsina
Last active July 13, 2017 20:10
Show Gist options
  • Save ralsina/2713f573cb963ce875ba5cb818ffd3ca to your computer and use it in GitHub Desktop.
Save ralsina/2713f573cb963ce875ba5cb818ffd3ca to your computer and use it in GitHub Desktop.
Gyro 0.2

Gyro grows some legs

It was just a couple of days ago that I started an experimental wiki project called Gyro ... it's always fun when a project just grows features organically. It does this, so it makes sense to make it do that, and then this other thing is easy, and so on.

So, here is what happened with Gyro:

  • Federico Cingolani made it run on docker
  • I added some features:
    • UI for creating new pages
    • UI for deleting pages
    • Support for multilevel pages (so you can have "foo" and "foo/bar")
    • Autocompletion with titles in search
    • Breadcrumbs so you can actually follow the multilevel thing
    • Lots of code cleanup

And, I published it as a Google Chrome Extension ... so you can now have a wiki on your chrome. If you saw how it worked before, you may wonder how it became an extension, since those are pure Javascript. Well... I made it have pluggable backends, so it can either use the older Sanic-based python API or use LocalStorage and just save things inside your browser.

The behavior is identical in both cases, it's just a matter of where things are saved, and how they are retrieved. The goal is that you should not be able to tell apart one implementation from the other, but of course YMMV.

And since I was already doing a chrome extension ... how hard would it be to run it as an electron "desktop" app? Well, not very. In fact, there are no code changes at all. It's just a matter of packaging.

All the Gyros

Is it finished? Of course not! A non exhaustive list of missing MVP features include:

  • Import / Export data
  • A syncing backend
  • General UI polish (widget focus, kbd shortcuts)
  • UX niggles (editor shows wrong context until you click!)
  • Better error handling
  • General testing

But in any case, it's nice to see an app take shape this fast and this painlessly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment