Why use Jekyll?

Jekyll logo

First off, I use Jekyll to make this website. So if you like the site, then you’ll probably like Jekyll too.

What is it?

Edit: 4/28/18 I’ve updated the definition of static webpages to be more accurate.

Jekyll is a static website generator written in Ruby. It allows someone to type in normal Markdown (and you know I love markdown) and then create a full webpage with HTML and CSS using a simple build command.

The static part means that the server doesn’t need to render the pages from a database, it just sends the files. Jekyll also doesn’t use Javascript by default. As a result, Jekyll sites are lighter on your computer, less complicated (which means it’s less likely to break), and more secure.

It’s goal is to make creating and hosting websites simple. And it does a pretty good job of it. Oh and it’s open source too!

Features

Jekyll lets you:

  1. Write in Markdown, Textile, or Liquid
    • For distraction free writing
  2. Customize the layout and style of pages
  3. Create and use templates
    • Easy to use someone else’s
  4. Add plugins, such as
    • RSS feed creator
    • Auto Pagination
  5. Use YAML for configuration and variables
  6. Easy to deploy using GitHub

How to use it?

  1. Follow their great documentation to create the blog
  2. Spruce it up with a cool template (like mine) or make your own!
  3. Deploy on GitHub (super easy) or another service (more complicated, but a fun project)

What’s the use case?

If you want to make a simple, no frills, blog, and happen to enjoy Markdown, then there is no better alternative. So essentially, if you’re me!

You can just use someone else’s template to set it up. Though it’s best if you happen to have a little experience with web design, because to modify it, you’re going to need to get down and dirty and write some HTML and CSS.

It’s also really great for setting up a webpage for a project, group, or portfolio. GitHub makes this really easy. You get to use a free domain and even have a choice of theme!

Comparisons

There are three different categories of blogging platforms. Content Management Systems (CMS) like WordPress and Ghost, blogging sites like Medium and Tumblr, and site generators like Jekyll and Hugo.

CMSs are designed to be easy to use. They have nice GUIs to make pages, plenty of services allow easy hosting, and typically have a huge plugin selection to add many different features. They can be setup very close to how you want it. However, they tend to be on the heavier side, meaning low end devices may have trouble loading a site with a ton of plugins. WordPress, due to it’s popularity, has been the target of a lot of malware over the years. This means both site owners and users could be vulnerable when using outdated plugins.

Blogging sites are a nice (and free) way to start a blog. They are very user friendly, and make it easy to make post. There is also the added benefit of there being an existing user base on the sites. So it’s easy for people to find, comment, and share your blog. The downside is there is far less control of the site than other options. This includes both the look of the site, the domain name, and your content. By using these sites, you typically give up some ownership of your posts and photos. This was a big reason for why I moved away from using Tumblr.

Finally, site generators are made for those who want a basic site and don’t want to deal with a slow GUI (because there isn’t one). They can be very customizable, with the caveat of you needing to know some web design to do the customization. Though, writing a post is as simple as writing a markdown file. You also can’t be afraid of the command line; which is needed to build and deploy the site after making each post. Hosting the site is also not as straight forward as others. Setting up a server can be complicated, but using GitHub simplifies that immensely. The end result is a lightweight blog that you have full control of.

Pros

  • Easy to use
    • *After being set up
  • Lightweight
  • Can write post in Markdown
  • Lots of themes to choose from

Cons

  • Configuring layout can be hard
    • Need to know HTML and CSS
  • Setting up hosting requires extra steps
  • No GUI
  • Not great for everything
    • Static webpages means no web apps

Other

  • Can use the same tools that you code with

Conclusion

Jekyll is not a swiss army knife. But when I want a hammer, I don’t want to use a swiss army knife. You have to be a technically competent to setup and fine tune Jekyll. However, once you do, keeping your blog going is a breeze. Would I use it for every website? Of course not. But I’m using it here, because it suits my needs very well. If you’re a developer who wants a blog that’s just a blog, then it’ll suit your needs too.

Till next time,
- Matthew Booe

Related Posts