Hello World - My new homepage is live

September 19, 2020

It has been a long time since I last updated my personal homepage. Over the years, it became quite outdated, so I thought it would be about time to relaunch my homepage with a complete new design and technology. I wrote the first version back in 2007 when I started to apply for my first job. At the time, I wrote my homepage using plain HTML. This is of course not the way to go anymore in the year 2020.

WordPress, TYPO3, Drupal, Jekyll - what is best for me?

So I started to look for some alternatives. It goes without saying that I wanted to rewrite my homepage as a static site. I.e., I did not want to use any technologies that need some sort of installed server software, such as WordPress or TYPO3. I wanted to have a flexible system which allows me to easily create my content and is able to generate a static website. The generated website should be responsive, and it should be possible to add dynamic behavior with JavaScript code.

The first thing which came to my mind was to use the Jekyll static site generator. I have heard good things about this tool in the past, and a former colleague of mine set up his own homepage with it. However, while Jekyll is surely a great tool, I decided against using it. The reason for this is simply that Jekyll builds upon the Ruby ecosystem. That is, it is written in Ruby and uses the RubyGems package manager. For me, this would have the consequence to install a full Ruby and RubyGems runtime on my computer. Since I’m a Java and JavaScript guy, I actually did not want to have yet another build and packaging environment on my computer next to all the NodeJS and Java stuff I already have in place on my system. I preferred to use something that makes use of the ecosystem I’m already using.

Gatsby.js

Enter Gatsby. While searching for alternatives to Jekyll, I found Gatsby. Just like Jekyll, this is also a static website generator. However, very conveniently for me, it is based on the JavaScript ecosystem. More specifically, it uses the React framework as its basis. By that, I can use the tooling I have already installed.

The great thing about Gatsby is that you can create your own React components to be re-used throughout your website. This greatly helps you keep a consistent look of your website and allows for a clear structure. Another great feature of Gatsby is that you can access dynamic data sources, such as CSV files, the file system, or other structured data, through GraphQL queries. These queries are later translated into static code and data so that you don’t need an actual server to execute them.

So I decided to use Gatsby for building my homepage. Even without prior knowledge of React, I was able to quickly get started with this tool. I can now say that it is a lot of fun working with Gatsby. You can get very satisfying results in very short time.

What’s to come?

Beside some personal info about me, I intend to use this site as my personal blogging platform. I will blog about the topics which interest me the most and with which I’m mainly occupied in my daily work: Java, Kotlin, Git, Clean Code, Software Craftmanship, Testing and Software Engineering.