Originally, I had planned on building my site by hand and didn’t plan on including a blog. When I decided to include a blog, Wordpress was my first choice for a content management system. I mean, why wouldn’t it be? There’s a huge community, tons of plugins and flexibility, and it’s free. On the other hand, Wordpress sites can get pretty bulky and slow. For a basic portfolio/blog, it was definitely more than I needed.

When I first learned about Jekyll, it peaked my interest. Free hosting with Github Pages? Sweet! Liquid Templating and Markdown? Great, two simple and easy-to-learn languages. If you don’t know what Jekyll is, it’s a simplistic, blog-aware static site generator written on Ruby. It takes your content (written in Markdown) and runs it through a template (written in Liquid) and produces HTML files. The advantages to a static site generator like Jekyll include speed and security, since there is no database, and improved reliability. Static sites run on flat files that won’t run into potential issues you may face when dealing with a CMS that connects to a database.

Jekyll has improved a lot and there are a lot of plugins available that people often overlook when looking into using it. While many people assume that Jekyll is mainly used for simple blogs, it has the potential to run much more complex sites as well. There are plugins for blog comments and e-Commerce, or if you decided you wanted to use Jekyll with a content management system, you could pair it with Cloudcannon or Siteleaf. Personally, I think this defeats the purpose of using it, although other people may have differing opinions.

There are other static site generators out there as well. Some popular ones include Middleman, Hugo, Hexo, and Pelican.