Jekyll is one of the best and most popular static site builder. Basically what it does is generate HTML files on build which can be accessed easily by the server eliminating the need for PHP functions and database queries if you would only have some static pages and assets with a blog. For everything else there is MasterCard - well, something else.
The start
I created this site to have our webdesigner/webdeveloper team a site where we can share our experiences, problems, questions etc. in a blog format while also having a kinda portfolio site for the projects we have been working on. At first I created a simple static site with HTML files as a proof of concept and to experiment with the possibilities of smoothState.js.
As I finished designing and developing it there arouse the question of how to maintain this site the best possible way. Around that time I came across two great articles that in the end pointed me towards static site builders and especially Jekyll.
Why static site generators?
Mathias Biilmann Christensen’s article about static site generators showed me why it is great to use a static site generator for certain types of websites - an article which I will refer to many times across this post. The other article was Mike Neumegen’s three part article on how to build a Jekyll site.
At first the thing that catched my eyes was the simplicity of static site generators. There is no real database, no php (lower case intended) functions to run with every HTTP requests, there are just simple, plain HTML files, where every last bit of code is exactly what you want to have.
The other thing I love that turned my head toward static site generators is the speed. Everyone who is just a tiny bit into webdevelopment knows that nowadays especially everything must be as fast as possible. Statistics about how many people use phones to connect to the internet or are on a slow connection (blah, blah …) can be seen in almost every article about webdevelopment or the state of the internet. This makes it almost obligatory to choose the best and fastest solution for your site. And it seems if your site is basically a blog with some static sites there is no real competition for static site generators.
Why Jekyll?
To answer this question I have to admit that I didn’t really dig deep into the hundreds of static site generators. Mike Neumegen’s aforementioned tutorial on how to install and use Jekyll, and the simplicity it showed convinced me that Jekyll will be the right solution. Later on I had some smaller troubles with getting this site working (more on that in a future blog post) but they were tackled quite fast by using some plugin or a quick Google search. Also, the fact that Jekyll was written originally by Tom Preston Werner, founder and former CEO of Github was quite convincing.
In Jekyll there were two things I really liked from the start:
- I can work with SCSS or SASS without configuring additional plugins and
- Jekyll can host a virtual server on my machine with the simple command
jekyll serve
.
I also quite liked the documentation. Only in the rarest occasions did I need to turn to other resources, because the documentation explained everything quite well.
Verdict
As it turned out from the configuration of Jekyll or the YAML Front Matter to the templates and includes everything was quite easy to comprehend and simple to work with. Using Jekyll is a great relief for front-end developers, because it’s easy to use, simple to set-up and great to focus on content rather then code.