Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Publicaciones sobre gyro

Gyro 0.3

Gyro grows some legs

It was just a few days ago that I start­ed an ex­per­i­men­tal wi­ki project called Gy­ro ... it's al­ways fun when a project just grows fea­tures or­gan­i­cal­ly. It does this, so it makes sense to make it do that, and then this oth­er thing is easy, and so on.

So, here is what hap­pened with Gy­ro:

  • Fed­eri­co Cin­golani made it run on dock­er
  • I added some fea­tures:
    • UI for cre­at­ing new pages
    • UI for delet­ing pages
    • Sup­­port for mul­ti­lev­el pages (so you can have "foo" and "foo/bar")
    • Au­­to­­com­­ple­­tion with ti­­tles in search
    • Bread­­crumbs so you can ac­­tu­al­­ly fol­low the mul­ti­lev­el pages
    • Lots of code cleanup
    • Themes (via Bootswatch)
    • Cus­­tom fonts (via Google We­b­­Fonts)
    • Au­­to­­mat­ic link­ing for Wik­i­­Words if you like that kind of thing

And, I pub­lished it as a Google Chrome Ex­ten­sion ... so you can now have a wi­ki on your chrome. If you saw how it worked be­fore, you may won­der how it be­came an ex­ten­sion, since those are pure Javascrip­t. Well... I made it have plug­gable back­end­s, so it can ei­ther use the old­er San­ic-based python API or use Lo­cal­Stor­age and just save things in­side your brows­er.

The be­hav­ior is iden­ti­cal in both cas­es, it's just a mat­ter of where things are saved, and how they are re­trieved. The goal is that you should not be able to tell apart one im­ple­men­ta­tion from the oth­er, but of course YM­MV.

And since I was al­ready do­ing a chrome ex­ten­sion ... how hard would it be to run it as an elec­tron "desk­top" ap­p? Well, not very. In fac­t, there are no code changes at al­l. It's just a mat­ter of pack­ag­ing.

And then how about releasing it as a snap for Ubuntu? Well, easy too, just try snap install gyro --beta

All the Gyros

Is it fin­ished? Of course not! A non ex­haus­tive list of miss­ing MVP fea­tures in­clude:

  • Im­port / Ex­port da­ta
  • A sync­ing back­end
  • Gen­er­al UI pol­ish (wid­get fo­cus, kbd short­cut­s)
  • Bet­ter er­ror han­dling
  • Gen­er­al test­ing

But in any case, it's nice to see an app take shape this fast and this pain­less­ly.