Introduction and explanation of this new section of the website.

·4 minutes of read·Nathan Debilloez

Preamble

I have wanted to create an “articles” section on my website for a very long time. Certainly not to talk mindlessly about certain topics or give my opinion on various things, but much more to explain, guide, or share my experience with certain digital or technological tools. This site goes by the “name” of a blog, but what I am going to do here is not really a blog—not by a long shot!

To be honest, for a long time, after struggling to configure, plug in, or program certain things, I used to write small Markdown guides that I left to gather dust in my GitHub Gists, which is frankly ridiculous and doesn’t benefit many people.

Although what I do is generally highly focused on “pure” computer science, I really don’t want to limit myself to that, and I plan to expand a bit into technology in general.

Implementation of the “blog” project

I decided not to change my good habits: making do with what I have so that it remains simple and intuitive for me to use, but above all so that hosting doesn’t cost me a dime! Paying for a server is completely absurd (and very expensive) to me, especially if it’s just to run WordPress for a few guides every now and then. What’s more, I absolutely loathe ads; there is no way I am going to slap ads on any of my projects just to finance them. Everything I create is done during my free time, out of pure pleasure and passion.

That is why I chose to use a classic, so-called “static” website, just like my main site, so I can host this project simply and for free.

However, given the complexity of developing a static website from scratch, building a more elaborate space like a “blog” quickly becomes impractical and far too time-consuming to maintain without the right tools. That is where “static site generators” come in: they allow you to develop with dynamic code before compiling it into traditional HTML, CSS, and JavaScript files. For my part, I chose Hugo.

Why Hugo and what exactly is it?

As mentioned before, Hugo is a static website generator. This means that it takes dynamic code as input a bit like Django, EJS, … but after compilation, you simply get classic web files. This greatly speeds up and eases the development of static sites which, when done entirely by hand, often require a lot of repetition and copying-and-pasting of the same code block.

I chose Hugo for several reasons:

  • It is open-source: and that is an ecosystem I am particularly fond of.
  • It is extremely fast: developed in Go, its compilation only takes a few milliseconds (at most)!
  • It is highly modular and comprehensive: it offers many themes and extensions, but most importantly, a very active community and a solid reputation established for years in the field.

I will probably write an article (or more) about Hugo soon, because it really is a great tool.

The theme I chose and why

The theme I am using was not designed by me, but is very generously made available by Atsushi Nagase. You can find it here: hugo-primer-blog. I just took the liberty of tweaking a few details to tailor it perfectly to my needs.

Why does this theme look like GitHub’s design?

Simply because I love GitHub! It’s a platform I’ve been working with for many years, it has everything I need, and it’s probably my favorite website.

There isn’t really any other explanation to give: I liked the theme as it was, it met all my expectations, and its very clean and professional look convinced me immediately.

The project’s source code

As usual, I release all my personal digital work as open-source.

Although it might not be super interesting, unless you want to check out my configuration and my few modifications, I have, as always, put all the code for this “blog” on my GitHub, which you can check out here: https://github.com/Nde-Code/blog

Postscript

My spelling isn’t extraordinary, so I often use tools (including AI, obviously) to proofread my writing. It is therefore not impossible to come across a few mistakes from time to time. If you spot any, letting me know would make me extremely happy.

Opening a pull request or an issue on the GitHub repository is by far the preferred method.