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.
It looks like this with the Minimal Mistakes theme.
Adding a footer
You can also configure the footer.
Which then looks like so.
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.
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.
This blog series
This blog is part of a larger series: