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.
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!
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.
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.