Welcome To Nikola

If you see this, you may notice some changes in the site.

So, here is a short explanation:

  • I changed the software and the templates for this blog.
  • Yes, it's a work in progress.
  • The new software is called Nikola.
  • Yes, it's pretty cool.
Why change?
Are you kidding? My previous blog-generator (Son of BartleBlog) was not in good shape. The archives only covered 2000-2010, the "previous posts" links were a lottery, and the spanish version of the site was missing whole sections.
So, what's Nikola?
Nikola is a static website generator. One thing about this site is that it is, and has always been, just HTML. Every "dynamic" thing you see in it, like comments, is a third party service. This site is just a bunch of HTML files sitting in a folder.
So, how does Nikola work?

Nikola takes a folder full of txt files written in restructured text, and generates HTML fragments.

Those fragments plus some light metadata (title, tags, desired output filename, external links to sources) and Some Mako Templates create HTML pages.

Those HTML pages use bootstrap to not look completely broken (hey, I never claimed to be a designer).

To make sure I don't do useless work, doit makes sure only the required files are recreated.

Why not use <whatever>?

Because, for diverse reasons, I wanted to keep the exact URLs I have been using:

  • If I move a page, keeping the Disqus comments attached gets tricky
  • Some people may have bookmarked them

Also, I wanted:

  • Mako templates (because I like Mako)
  • Restructured text (Because I have over 1000 posts written in it)
  • Python (so I could hack it)
  • Easy to hack (currently Nikola is under 600 LOC, and is almost feature complete)
  • Support for a multilingual blog like this one.

And of course:

  • It sounded like a fun, short project. I had the suspicion that with a bit of glue, existing tools did 90% of the work. Looks like I was right, since I wrote it in a few days.
Are you going to maintain it?
Sure, since I am using it.
Is it useful for other people?
Probably not right now, because it makes a ton of assumptions for my site. I need to clean it up a bit before it's really nice.
Can other people use it?
Of course. It will be available somewhere soon.
Missing features?
No tags yet. Some other minor missing things.

Comments

Comments powered by Disqus