Forgejo

TVTastic v0.1

In the last post, I briefly mentioned the TVTastic project I started this month. Unlike my previous projects, I’m using more structured planning for this one. I’m breaking the project down into milestones and assigning issues to each milestone. I use my local instance of Forgejo to register these milestones and issues next to the git repository containing the source code. I’ve noticed that planning the project this way helps me stay motivated. It also helps me remember outstanding tasks, because I register TODOs directly in a central place, which keeps my mind clear as well. The built-in progress bar for each milestone (see below) is especially motivating. Every time I close an issue, I see the progress bar move, which gives me a little dopamine boost. It also keeps me on track: I add new ideas and fixes to later milestones, so I can focus on the functionality of the current milestone.

Today, I spent some time automating the deployment of this blog. This site is generated using a static site generator called Hugo. While I love Hugo, deployment is a bit different from other blogs than, for instance, WordPress. In WordPress, you write and can directly publish the site. Using Hugo, however, you write your posts and then the site is generated, much like a compiler that generates machine code from the website you’ve written. Until now, this was a very manual process. I had to write the blog post, test it locally, and copy the post manually to my hosting provider. It wasn’t that much work to be honest, but still it was a small hurdle when writing a post. It also prevented me from automating some things, for instance, automatically creating a post when a new version of an app was released. That changed today. I spent some time setting up a Forgejo runner Docker container on my home server that automatically builds the site when committed to the Git repository. When I deploy from the develop branch, the site is deployed locally to that server, so I can directly observe how the new post would look in production. When it’s then merged into the main branch, the site is deployed here on thinkpractice.nl. Hopefully, automating this process will make it easier for me to write and post. In any case, keep posted pun intended, because some nice updates are coming soon!