Running Jekyll + Github Pages on a Google domain

I just setup a new Jekyll site and hosted it using Github Pages and a Google domain. I’m happy with the results, so I wanted to explain my process and shed light on a few pitfalls.

Language and Site Generator : Ruby and Jekyll

I seldom use Ruby, but some of the most common site generators are written in Ruby, so I explored Jekyll and Hugo. I chose Jekyll because I found more examples and more documentation. Jekyll installation would require RubyGems (gem) GCC and Make. I had a jekyll-served site locally in 3 hours, and hosted it on the internet in a few days.

Template Language: Liquid

Jekyll uses the Liquid template language. Liquid supports content in Markdown and/or HTML – I find Markdown easier to read and write. Liquid supports template-style features like objects ( {{ page.title }} ), tags ({% if page.show_sidebar %}), and filters ({{ "welcome" | uppercase }}) With Liquid you can easily refere a page’s variables, or a site’s collections.

Content: Pages, Post and Front Matter

Pages are generic, like any webpage. Posts are more specific and support more specfic metadata like dates, categories and tags.

Themes

I created a set of themes based on Hyde

Front Matter

I found “Front Matter” to be especially useful; Front Matter lets you attach properties to your content.

Collections

For defining new “classes” of content, you can create a collection. In my case I wanted to highlight many of my “featured works”, so I created a collection called featured_works.

Troubleshooting

Helpful links:

Running

I use the command bundle exec jekyll serve

If I tried just jekyll serve, I might get this error:

You have already activated i18n 1.7.0, but yourGemfile requires i18n 0.9.5. Prepending bundle exec to your command may solvethis. (Gem::LoadError)