Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about python (old posts, page 95)

Preview of Nikola Webapp

I have al­ready made a few at­tempts at turn­ing Niko­la, a stat­ic site and blog gen­er­a­tor in­to a we­bap­p, with var­ied suc­cess. One of the big­ger prob­lems was, I think, one of scale. I was think­ing of some­thing to re­place http://­word­press.­com ... some­thing where ev­ery­one could host his own blog in very low cost in­fra­struc­ture.

But then again... why not try to re­place all those self­-host­ed word­press in­stances out there? So, here's the we­bapp plug­in!

It's very ear­ly stages, no sup­port for pages, on­ly sup­ports mark­down, no con­fig­u­ra­tion changes, and you can't even re­al­ly delete things. But hey, you can post, which is 95% of the us­age this will get.

UP­DATE: if you are run­ning Niko­la from github mas­ter, you can in­stall this us­ing the plug­ins re­po: http://­plu­g­in­s.get­niko­la.­com/#we­bapp and it sup­ports a lot more than on the video above.

Nikola v6.1.0 is out!

I am hap­py to an­nounce ver­sion 6.1.0 of Niko­la, a stat­ic blog/site gen­er­a­tor is out at the usu­al place in­clud­ing down­load­able plu­g­in­s, bug­fix­es, an­no­ta­tion­s, a new Es­peran­to trans­la­tion and more!

Lunchtime Nikola Feature: graphviz

Since we are in the process of adding a plug­in re­po for Niko­la, I want­ed to add a sim­ple plug­in there so that we can show how it work­s.

So here it is. You use this:

.. graphviz::

   digraph foo {
       "Idea" -> "tap tap tap" -> "Code";
   }

And you get (as­sum­ing graphviz is in­stalled, and this plug­in is in­stalled, etc.) this:

Read more…

Being an Inclusive Project (and how GitHub saved my day)

I have post­ed over 50 posts here about Niko­la and most of them con­tain some­thing like "Niko­la, my stat­ic blog/site gen­er­a­tor". Well, that's not the case any­more. From now on I will say "a stat­ic blog/site gen­er­a­tor". Why? Let's see.

For starter­s, it's no longer true that I wrote it. Al­though I am still push­ing more code that any­one, there are 54 oth­er con­trib­u­tors. That num­ber is as­ton­ish­ing. Why? Be­cause I es­ti­mate there are around 200 Niko­la user­s. That means the ra­tio of con­trib­u­tors to users is in­cred­i­bly high.

That is prob­a­bly ex­plained be­cause the way you build a site us­ing Niko­la is very pro­gram­mer ori­ent­ed. You could de­scribe a stat­ic site gen­er­a­tor as a sort of "site com­pil­er" and not be far off the mark. Many of the ben­e­fit­s, like you can host your page sources in github! are com­plete­ly mis­te­ri­ous to non-pro­gram­mer­s. So, I ex­pect­ed that num­ber to be high, but, hav­ing a 25% user=>de­vel­op­er con­ver­sion rate? That's bizarre.

So, I sus­pect I did some things well with this project 1, and want­ed to think them out loud, and try to fur­ther them.

One thing I think I did well was that it's an in­clu­sive projec­t. If you pro­pose some­thing you are get­ting heard and I am giv­ing the pro­pos­al a fair shake. I may re­ject it, but not out of hand, but in­stead af­ter some thought. And if I am un­sure, it's ac­cept­ed. I would rather get some­thing I am not fond of than drive out a con­trib­u­tor 2 be­cause I may change my mind, but a con­trib­u­tor that's gone is not com­ing back.

Same thing about grant­ing com­mit right­s: want them? You get them with the first suc­cess­ful PR by just ask­ing.

To­day there was an­oth­er step on this di­rec­tion: I am not the sole ad­min any­more. No longer is http­s://github.­com/ralsi­na/niko­la the canon­i­cal re­po, it's now http­s://github.­com/get­niko­la/niko­la. The web­site? Not http://niko­la.ralsi­na.me but http://get­niko­la.­com, paid for 5 years. Added two ad­mins to ev­ery­thing (the awe­some dami­anav­i­la and Kw­pol­s­ka). Gave up sole con­trol of a loooong list of things 3 and now I can get run over by a bus and things should not bi­trot.

It pro­tects those 54 oth­er con­trib­u­tors and few hun­dred users from my ev­er los­ing heart or in­ter­est, which is a re­al risk, and should be al­le­vi­at­ed.

I think the most im­por­tant bit about con­vert­ing users in­to con­trib­u­tors though, is that you just need to be friend­ly. And Niko­la is large­ly a friend­ly projec­t. And that's made it a lot of fun for the past year or so.

I once read that if you re­fused to use code writ­ten by ass­holes you could not boot any OS. Well, that may be true, but that does­n't mean be­ing an ass­hole is OK. This is a small project that does a small thing. But at least I feel con­fi­dent it's not writ­ten by ass­holes. And that's a vic­to­ry in it­self.

OTOH there are some ma­jor def­fi­cien­cies stil­l. Di­ver­si­ty is good in some ar­eas (geo­graph­i­cal­ly, for in­stance) but AFAIK the per­cent­age of wom­en con­tribut­ing to the code­base is 0% and I have no idea why, and I would love to im­prove that.

So, lots of work done, lots more to do. That's a good po­si­tion to be in, I think.


1

Al­ter­na­tive ex­pla­na­tion: I did some things so bad­ly I have driv­en out 99% of the us­er base.

2

With­in rea­son.

3

Github's check­lists on Is­sues are great

4

With­in rea­son.

5

Op­tion­al.

6

Not re­al­ly.


Contents © 2000-2020 Roberto Alsina