My shared hosting service doesn’t like users to install their own copy of Ruby unless they have their own virtual host – Ruby tends to be a memory hog, especially when it’s running something like Jekyll. Fortunately, there’s an alternative: gojekyll, a Jekyll clone written in go. (That’s a programming language – it’s often called “golang” to distinguish it from the Japanese board game.) It’s extremely fast and lightweight. My shared hosting service doesn’t have go installed, but getting it up and running is easy.

Here’s how:

  mkdir golang  # This is where go gets installed
  mkdir go      # This is where other go programs live
  cd golang
  wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
  tar -xzf go1.11.linux-amd64.tar.gz 
  export GOHOME=$HOME/golang/go
  PATH=$GOHOME/bin:$HOME/go/bin:$PATH
  which go
  # we don't have to set GOPATH because ~/go is the default
  go get github.com/osteele/gojekyll
  gojekyll --help

Total time about five minutes. It helps if you already have the necessary setup commands in your .bashrc file:

if [ -d $HOME/golang/go ]; then
    export GOHOME=$HOME/golang/go
    prependToPath $GOHOME/bin
fi

if [ -d $HOME/go ]; then
    # we don't have to set GOPATH because ~/go is the default
    prependToPath $HOME/go/bin
fi

The problem, from my point of view, is that it’s rather broken:

  • even with pygments installed, I can’t figure out how to get syntax coloring
  • next and previous are swapped for blog posts.
  • some of the layout is broken, in particular the navigation in the most recent blog post

I can work around most of that, but I’d really like to get syntax coloring working, and I suspect that the layout problem reflects an underlying problem with how sass gets run. (On further investigation the layout is fixable, with a little cleanup.)