09 MARCH 2022 / CODE

Development of this website v.2022

At regular intervals, I try to redesign my personal website. In doing so, I have more freedom than almost anywhere else and I can choose my own tools, libraries, technologies and content from A-Z. For my 2022 version of my website, I decided to use several new tools at once.

CMS or SSG?

The first question to be answered was: What would the technology and the structure of the website be? It was clear to me that I wanted to run a small blog on my personal website. So the way I could upload content was of great importance. In my work as a web designer and developer, I got to know various CMS (Content Management Systems) and also realised numerous static websites. On the one hand, it was important for me to be able to easily add blogposts without having to link to them in hundreds of documents. But it was also important for me to have as much freedom as possible. All too often, I have come up against "limits" with CMSs like WordPress, for example, and had to resort to my own themes and plug-ins. This was not because the CMS was bad, but simply because I wanted/needed to incorporate some special functions that weren't offered by the CMS. As soon as I wrote HTML for a CMS, I usually regretted in retrospect not having developed the website by hand from the beginning. In the end, I had to choose between two development options for my website: CMS with a custom theme or a static website. When it comes to CMS, I had (and still have) Ghost on my "to try" list, a CMS that has interested me for a very long time and looks very appealing. In my blog template you can also clearly see that the classic Ghost layouts inspired me. The simple interface and the extensive functions spoke in favour of Ghost, but the hosting spoke against it: as with every CMS, maintaining the backend is relatively time-consuming. What spoke in favour of a static website was the absolute freedom to choose my own tools and not have to stick to a specific templating language, as well as the low maintenance costs once the website was up and running. So the choice quickly fell on a static site generator. This gave me freedom of development, best performance, higher security (and no maintenance work) as well as favourable hosting options.

Eleventy ❤️

The next question was therefore: What next? There are thousands of static site generators. From Gatsby to Next.js, Jekyll, Nuxt and eleventy. For a long time I was about to go with Next.js or Nuxt (since I have more experience with VueJS than with React), but then I kept coming back to a relatively new player: Eleventy. Eleventy's tagline is "Eleventy, a simpler static site generator." and so it was. What started with a short trial quickly became a simple, efficient workflow. Eleventy was easy to set up and gives me all the freedom I need. I am thrilled with Eleventy and am now wondering where Eleventy was during my work as a web developer, I wish I knew it back then.

Tailwind CSS

So many developers speak highly of Tailwind, I just had to try it. However, even with the completion of this website, I could not yet commit to a final verdict.
Setting up the Tailwind environment in/with Eleventy was not very complicated. But relatively quickly I missed components as basic building blocks, so I implemented DaisyUI relatively quickly.
What struck me positively about Tailwind was the simple way of designing responsive layouts. I also found the simplicity of the use of colours very appealing. In addition to a dark theme, I have added several themes to the website as a gimmick, similar to DaisyUI.
Nevertheless, I often had the feeling that I would be faster with pure CSS. This must have been because I simply didn't know the Tailwind classes yet. The speed of development increased steadily, but again and again I had to consciously decide against writing my own CSS classes or even inline CSS and search for the corresponding classes in the Tailwind docs.
I have not yet decided whether I will use Tailwind for my next projects. There are some arguments in favour, but also some situations where I ask myself: Do I really need Tailwind for that?