September 9, 2021

Today I started migrating my personal website from Wordpress to Jekyll, a static website generator.

Jekyll is implemented as a Ruby package that takes a set of (mostly Markdown and HTML) source files, and then creates a set of static web files (HTML, CSS, JavaScript, …) ready to be served by a webserver such as Nginx or Apache.

Jekyll logo (image credit: jekyllrb.com)

One advantage of Jekyll, as compared to conventional Wordpress installations, is that there is no need to manage a database from which the website is ultimately generated (this is because Jekyll deals with source files only, and the [static] website is generated offline through batch processing).

Another advantage is that, since we are only dealing with a bunch of Markdown (or HTML, etc.) source files, one can easily use git, GitHub, GitLab, or similar version-control systems to manage the website.

Yet another advantage is that you can use a repo processor, such as GitHub Pages (GH) or Netlify, to deploy website revisions, as soon as you push your changes to the repo. Both GH and Netlify will automatically publish your website through their Content Delivery Networks (CDNs), which will additionally optimize (i.e., accelerate) your website’s response.

One gotcha is that you must use a public GitHub repo with GH if you have a free GitHub account, while Netlify allows your repo to be private. If you’re fine with your website’s repo to be open to the public (which is the case with many documentation sites as well as personal blogs), GH is just as good a solution as Netlify.

Updated: