Updated: Category: Website

I recently created this website to share my experience and thoughts on software engineering.

I was looking for an easy way to create a website. I do not have much time at hands, but also enjoy coding and customizing. Github Pages is a popular way to host static websites. It seems to provide what I need, at least for the time being.

Github Pages works with Jekyll. You can use Jekyll to create a GitHub Pages site from your own Github repository.

Minima as the Jekyll theme

I like the Minimal Mistakes theme: https://mmistakes.github.io/minimal-mistakes/docs/installation/#theme-migration

I replaced the default theme in the gemfile with gem "minimal-mistakes-jekyll", ran bundle to update the dependencies, and configured it as a remote theme (so that Github Actions can use it) by replacing the default theme in the _config.yml file by remote_theme: mmistakes/minimal-mistakes@4.27.1. Running bundle update install the theme, and we are good to go!

Github Pages gem

Instead of the jekyll gem, I used the following dependencies:

  • I use this to setup Jekyll: https://github.com/github/pages-gem

in the gemfile, I replaced gem "jekyll", "~> 4.4.1" with:

source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
gem "jekyll-include-cache", group: :jekyll_plugins

I ran bundle to update the dependencies.

Creating an author profile

To create short bio of myself on the website I follow the mmistakes instructions on how to create an author profile.

I decided to configure it in the _config.yaml.

Configure the author profile in _config.yaml.

Configure the author profile in _config.yaml.

It looks like this with the Minimal Mistakes theme.

The author profile with mmistakes.

You can also configure the footer.

Configure the footer in _config.yaml.

Which then looks like so.

The footer with mmistakes.

Creating a feed

Jekyll supports generating an atom feed from the blog posts. This is available as a gem. Simply add it to the gemfile.

Configure the feed in _config.yaml.

Adding additional pages

The Jekyll and Minimal Mistakes theme provide more functionality than just blog pages. I store my non-blog pages in a separate /_pages/ folder.

To include these in the build, I configured the _config.yml accordingly.

Configure the /_pages/ folder in _config.yaml.

Configure the /_pages/ folder in _config.yaml.

This blog series

This blog is part of a larger series:

Updated: