Date Tags pelican / nikola

Welcome to the brand new DamCB website!

I’m still toying around with themes and general organisation, but I must say it went very smoothly. I won’t commit an installation tutorial, because many have done that quite nicely already, and the doc is nice, once you’ve perused it long and large. Noob as I am on everything web, it took me only two days to get the site up with nice notebooks rendering and an effective deploy work-flow.

Jake Vanderplas migrated from octopress to pelican, and made his choice on a simple metric:

Nikola and Pelican both seem to be well-loved by their users, but I had to choose one. I went with Pelican for one simple reason: it has more GitHub forks. I’m sure this is entirely unfair to Nikola and all the contributors who have poured their energy into the project, but I had to choose one way or another.

Well I don’t know about unfairness of the method, but from someone who tested both, I think I prefer pelican… The first reason of course is that nikola was my first shot at a static, self hosted website (after an ungly-virtual-host-autogenerated-drupal install), so I’m sure I did wrong every thing I could. Now I’ve learned a trick or two, and the logic behind pelican was easier to grasp.

There are some more reason why I prefer pelican though:

  • It’s very markdown friendly, and though it supports reStructuredText, markdown is the prime format. Nikola is the other way round. So if you prefer markdown as I do, go for it.

  • The liquid-tags plugin allows nearly out of the box IPython Notebook to be included in your text. Although Damian Oquanta makes terrific themes and ease the publication of notebooks directly from the notebook itself in nikola, I couldn’t get it to work as easily as @jakevdp liquid_tags for pelican. Also, I prefer the former logic and work flow: Notebooks are stored in a specific directory and you include them in your markdown posts (possibly only selected cells), instead of being created for the purpose of publishing them, and having to deal with metadata at notebook creation time, with a pair of (.ipynb, .ipynb-meta) pair of files.

On a final note, I think I did a stupid thing with nikola: I was using nikola directly on the server to serve the html files. I was syncing the sources of the site via github from my local machine to the server, and doing the build server side. Don’t do this!

With pelican (maybe thanks in part to clearer documentation, in part to me growing a brain), I set up a dead simple nginx server and sync only the rendered html. Of course that’s the only way that makes sense, but it’s not explicitly expressed on the docs of nikola…

Well that’s it for now.


Comments

comments powered by Disqus