The first step was to build the blog locally using Jekyll and Ruby, following thw guide provided by NumFOCUS. By default, the theme used was minima, which runs smoothly without any extra configuration. In my case though, I decided to use a custom theme. Moreover, I decided to use a theme not supported by GitHub pages. The main reason was to practice customizing themes with the long term goal in mind to use a custom theme for a future personal website. Using a theme not supported by GitHub pages obiously implies more work but, in my opinion, it was worth it.
I had heard about the HTML5 UP themes, and after some searching, I found a port to Jekyll of
one of the themes I was interested in: Forty. Thus, I decided
to use this theme for my blog. I started customizing the layouts and templates locally checking the build with the
bundle exec jekyll serve. It was my first conding experience with Ruby and the second time using html,
and some thing stroke me as odd. The main unexpected behaviour was the fact that using
jekyll build and opening
the index.html file did not show the website properly, even when
jekyll serve did. I also needed some time to
get used to Liquid mainly because it works with both html and markdown but not
all markdown is properly converted when building the site and this gave me some headaches.
The next step was to publish the website using GitHub pages. Creating the repository and so on had no difficulties, whereas building the website in GitHub did. This however may not be indicative of the difficulty of the two tasks because I have some experience with GitHub, managing repositories and Git, whereas it was my first contact with Jekyll, Ruby and building a website without sphinx. Eventually, I found out/accepted that GitHub pages has limited support for external Jekyll and Ruby plugins, but if their source files are included in the repository, things are bound to work sooner or later.
Overall, I am really happy with my result and I will surely use GitHub pages to host more websites due to its ease of use while allowing complete customization too. I still feel like I spend an execcive ammout of time for every single edit, but little by little I am starting to feel more comfortable with it. In additon, once the template has been created, the work is basically writing text posts, which can be written in Markdown.