Github pages is awesome and Jekyll is amazing. Allowing someone to focus solely on the content then have it automatically published when they’re done (
git push) is magical. Github pages is almost perfect… except for one thing. Due to security concerns, Github pages do not allow you to use custom plugins. This means no archive page, no tags cloud, no personalizations which == no fun. I wanted the automated publishing, but I also wanted the ability to customize. I wanted features that a dynamically generated site would have easily provided (category pages, archive page, tag clouds, etc).
For a while I maintained a Repo for my Jekyll site, pull it down, rebuild manually and push/deploy every time I made a post. This was a hassle.
A co-worker of mine is a big fan of Go and encouraged me to learn it. I’ve tried learning it before, but writing Go didn’t feel very productive. It was probably due to the comfort I had built around dynamically typed languages. Jumping back into a statically typed language after getting away with so many things in a dynamically typed language was hard.
Go had been on my “to learn” list for a while but I wasn’t been able to think of anything worthwhile for me to hack on… until I saw “Hacking with Andrew and Brad: tip.golang.org”
“What about building exactly what they built, but replace Godocs with Jekyll and the two servers with two folders?”
And that is exactly what I did. My first “real” attempt at Go is also something I am using right now and continually improving. This site is now being built and served using https://github.com/davinche/Jekyll-Build-Server.