Jekyll or Ghost

Since you're reading this on a site using Ghost it's probably fair to say I've made a choice. I like the simple bare-bones approach of Jekyll but I really can't be arsed doing dev on my own site since I spend so much time coding other people's.

Since this post is proving popular, I've cobbled together a bit of a list of differences as I see them and a short list of alternatives.

Now I'm off the old Drupal site, I have a faster blog with very little excuse to not jump on and write something up should the mood take me.

There's nothing wrong with Drupal, WordPress, Jekyll or any of the other myriad platforms but with a one-click VM on Digital Ocean I managed to fire up a new blog in about 1 minute. Really can't complain at that.

Fast-forward a few weeks

After a few months with Ghost, I can safely say that for now, it does everything I need. I think in future a media manager and uploads would not go amiss but beyond that, I'm a happy bunny.

I'm still running on the sqlite database that came with the 1-click installation on Digital Ocean but for the kind of traffic I get on this site, there's no real need to consider an alternative for now.

How do they differ? (do they differ?)

  • Firstly, Ghost doesn't yet have tables in its markdown parser so you have a list instead.

  • Jekyll creates static html files generated locally whereas Ghost has a GUI for writing in-browser.

  • There isn't much to choose from when it comes to migrating since you can often migrate to Jekyll and then transform that data into a Ghost JSON import file.

  • Jekyll is supported by GitHub and indeed it's how many github projects' pages are created. A push to the right branch will queue up a recompile for you.

  • Ghost will be getting (hopefully soon) a media manager along with other app support. Jekyll has plugin support for many things like image resizing etc. Not all plugins are available on GitHub pages though but then you can't use Ghost on GitHub anyway.

  • They're both fast – really fast.

  • Ghost can save draft posts until they are published. After this point, you can update or unpublish. There is no revision/version control on Ghost yet. It's in the roadmap. You can create your own workflow in Jekyll – source control is your friend there.

  • Themes, you can do whatever you like with both to be honest. I bought the theme to this site because I'm lazy.

  • Localisation, this is coming for Ghost but I really can't say how it works on Jekyll. I can think of a good few ways of doing it though.

I know I've mentioned the Ghost upcoming features quite a bit but Jekyll gets lots of love and attention on github so there's a good ecosystem around it. You might want to check out this page from OSTraining that goes into Jekyll and alternatives a little deeper.

Some static site generators

There are a few options when it comes to static site generators now. Here's a list of a few that is by no means comprehensive but hopefully should help you go from here.

  • Nesta - Sinatra based and not really a static site generator. It does keep things light though.
  • Jekyll - Generally uses the blog paradigm but not if you don't want it to.
  • Octopress - Based on Jekyll and works on github pages.
  • Middleman - Versatile and John Long (the chap who wrote Serve uses this a lot)
  • Serve - Written as a way of quickly prototyping rails apps.
  • Staticmatic - The one that started it all (as I understand it).