Tools and products I used to set up this website

2 minute read

There are many ways a person can start their own blog. Nowadays, the most popular option is definitely WordPress.

For this blog, I decided to take a nerdier approach.

I will create more detailed posts to describe each step. For now, here is an overview of the tools and products I decided to use.

Blog engine: Jekyll

The blog engine used is Jekyll: according to Wikipedia, Jekyll is a simple blog-aware static site generator written in Ruby.
Its popularity comes from being the engine used in GitHub to power its static site offer.

Theme: Minimal Mistakes

I’ll be honest, I’m mediocre at best when it comes to HTML and CSS.

So, instead of struggling for months, I searched through the themes available for Jekyll and I picked Minimal Mistakes by Michael Rose.

Also, a huge shout-out at my colleague and friend Martin Kristiansson for teaching me the little I know about SASS and for giving a paternal look at the layout of this site while I was prepping it up!

Storage: GitHub

The files needed to generate this blog are safely stored in a private repository in GitHub.

I decided to keep the backing repository private because in the future I might want to be use a commercial theme and often the author requires the installation on a private repository.

Also, the definition of the devcontainer might/will contain tokens to use external services such as the GitHub API.

Editor: Visual Studio Code

To manage this blog, I will be using Visual Studio Code, at least at the beginning, when I still need to properly finalize the setup of the blog.

Since Jekyll has no great support for Windows, I have setup the workspace to use a developer container (often referred to as devcontainer). In this way, VS Code will use a container as a fully fledged development environment.
Since the definition of the devcontainer is checked into the repository, I can quickly start working on my blog from any computer so far it has access to Docker, the Remote Containers extension and to my GitHub repository.

Hosting: GitHub Pages

The blog is hosted on GitHub Pages.
GitHub Pages is a static site hosting service that takes HTML, CSS, JavaScript files straight from a repository on GitHub and publishes them as a website.

Everytime I push a new commit, GitHub takes care of processing the files through Jekyll’s build tool and publishes its output.
This is very convenient because it allows me to retain the history of the changes and allows me to publish new posts directly from GitHub.

In the next post we will explore how to configure the hosting of the website on GitHub Pages.