🖼️ View
💬 Micro
This section is for short notes, thoughts or IndieWeb interactions.
Inspired by the posts of Kev Quirk and Jake Bauer, I did a Lighthouse test of my website. I wanted to see how good my blog is SEO wise. Some shortcomings were pointed out to me, for example I forgot to add rel="noopener" to external links with target="_blank" and in the mobile view some “tap targets” were too close together, so you could have clicked on the wrong one. I have addressed the problems and improved a few things in my theme. I don’t care that much about SEO, but somehow it’s nicer when Lighthouse confirms that you follow all the best practices, it’s the ambition. There are still a few things I could improve on, but I think then there is never an end.
To do a Lighthouse test, you can either use the “Audits” tab in Chromium-based browsers, or this bookmarklet in Firefox:
javascript:void(document.location='https://googlechrome.github.io/lighthouse/viewer/?psiurl='+escape(document.location)+'&strategy=mobile&category=performance&category=accessibility&category=best-practices&category=seo')
I probably shouldn’t be posting articles at 11:30 at night. Somehow it happens to me too often that I make a mistake while publishing, like missing the title, posting in the wrong category on my blog or something similar. Go to sleep and don’t blog so late, Jan-Lukas!
While in the beginning I integrated almost everything directly into my hugo-micropub tool, I now build separate tools for new features that can be used independently (like this one or this). Most of them simply use the JSON Feed as a kind of API to get information about published articles. Not real microservices, but it goes in that direction.
Fortunately I have a pretty high traffic limit, which I would never reach with my VPS at Hetzner Cloud, but BunnyCDN now offers a new feature called “Origin Shield”, which can help to significantly reduce traffic to your own server by adding a second cache layer between edge server and the origin. Nice! 👍
It gets worse and worse… My spam folder collects more and more emails from some Chinese spammers who want to sell me masks against corona. No thanks, I’m not interested.
After reading this tutorial about how to mirror a Gitea repository to other Git hosting services like GitHub, I decided to follow a new strategy regarding my projects. I will use my main Gitea instance for all my public repositories and then mirror them on Codeberg and GitHub. I will also migrate projects from GitHub and Codeberg to my Gitea instance and replace the repos with mirrors.
This method gives me full control over my projects and I can create new mirrors or remove old mirrors at any time and I am not dependent on any service.
I played a bit with 11ty today and came to the conclusion to stay with Hugo for now. Much of what Hugo brings with it (multilingual websites, taxonomies etc.) has to be done manually. Sure, 11ty is much more flexible and everything is somehow possible, but somehow it’s too much effort for me (at least for the moment). I have a working Hugo site and it would be best to stick with it for now and start thinking more about things I can blog about instead of just the site itself. And I should also focus on my studies…
Or maybe I should build my own static site generator? 😂
Inspired by Henrique Dias and his “Watches” page, I added such a site to my website too. I’m not using a tracking service to collect the data though, but write down everything manually. Although doing it automagically is pretty cool. I just try to keep things under my own control and don’t want to start to depend on yet another service.
For entries I try to link to The Movie Database, a more open alternative to Amazon’s IMDb. When shows or movies are note available there, I’ll link to the streaming platform’s detail page or another adequate website.
I watch a lot more movies and shows lately and so I want to keep track of it.
I finally took the time to fix the reading feature on my blog (the “Read to me, please!” button below the title). Initially, I used the property textContent to get the text content from the DOM element, but I figured out that it’s better to use innerText for this purpose. Read this article on the differences.
I also made the script to not block the rendering anymore by removing it from the critical request chain.
