I decided to start create a company website and blog. I thought it would be easy. I’ve started many other blogs in the past. But this time my requirements would be a little bit different.

  1. Free, unless it’s really good
  2. Hosted
  3. Write posts in markdown
  4. Syntax highlighting for code blocks

Blogger

In the past I have used Blogger. It’s free and very easy to setup. But Blogger’s editor doesn’t mix well with code blocks. I would have to edit posts in HTML mode. And if I happened to switch into the non-HTML mode I would run the risk of Blogger messing up my formatting. Plus to get syntax highlighting I would have to embark on a scary process whose instructions always begin with “make a backup.”

WordPress

The WordPress community is excellent and you can make WordPress do anything. But I don’t need everything, nor do I want to worry about hosting it myself or paying for hosting to get a simple blog with a few static pages.

Ghost

I looked at Ghost which is beautiful. And it’s open-source. You have the choice of downloading the code and hosting yourself for “free” (still have to pay for your own hosting costs) or you can pay them to hose it for you. Ghost was compelling enough that I was willing to pay if it worked out and they had a free trial so I signed up. That was the end of our happy relationship.

Right after registering with Ghost, I created my site then had to create another account which was specific to my site and different than my Ghost account.

Syntax highlighting is also not supported out of the box. I could add it by modifying the theme myself. But then I couldn’t find a built in theme editor which leads to a clunky process: modify the theme, zip, upload, test, repeat.

GitHub

Did you know GitHub was a blogging platform? 1 I have vague memories of this being a big thing a few years ago. The fad has fizzled but Jekyll is alive and well. Jekyll? Ruby? Would it be worth it? It met all of my requirements so I gave it a shot. You can browse the source code for this website on GitHub.

  1. What can’t GitHub do?