↓ Skip to main content
  1. Ramblings and Rants/

A New Website

6 mins·
Table of Contents

This Was Never Really a Blog!
#

When my career ended I had this idea that all of this knowledge about JavaFX that I had accumulated over the past 7 years shouldn’t disappear with it. Maybe it was egotistical of me, but I felt that I had developed an approach to JavaFX that might help people.

My first foray into this was to contribute some articles to one of those blogging community websites. I cannot remember which one now, but it was primarily aimed at programmers and technology people. After about 6 or so articles, it became apparent that this environment was really working for me.

I went looking for another, better but still free way, to host my blog.

I settled on GitHub pages, because I was already using GitHub and it was easy to get started. This approach led me to Jekyll, and a lot of investigating led me to a theme called “Minimal Mistakes”. Minimal Mistakes was a good fit for me, but I did need to do a fair bit of customization to get it to behave in a manner closer to what I wanted. So much that I was scared to ever update it in case I broke my customizations.

That lasted for years. But there was also some cognitive dissonance involved. I was publishing articles in a blog roll, and then using permalinks to organize the content into a structure and creating manual links inside some static pages to hold it all together.

Honestly, I didn’t know any better. This website stuff wasn’t my thing. It was just a tool I used get the content published and it didn’t get in the way too much. So fine.

But now I’ve gone through the process of converting it all over, I realize that virtually none of my content is anything that you would call a “blog”. I was essentially doing the blogging part by posting announcements on sites like Reddit in relevant sub-reddits.

Hugo and Blowfish
#

For those that care, the new site is built with Hugo and uses a theme called “Blowfish”. Hugo is a lot more modern, and Blowfish is - right out of the box - a better fit for my content style than Minimal Mistakes. So far, and I realize that this is still early days, I have almost no customizations implemented on the Blowfish theme.

There are some fundamental differences in the approached taken between Hugo and Jekyll, and they use different markdown processors which introduce some minor changes to the syntax. The biggest issue, however, was taking the content out of the blog roll and organizing it into structured content directories.

New Look
#

The first thing you’ll notice is that dark mode is now the default. There is a light mode, but I don’t think it looks quite as nice. The old Jekyll site only had a single mode, and it was designed as light mode. I don’t know if this is because 5 years ago light mode was still the defacto standard or I just didn’t know what I was doing. Either is possible, but that’s all I had.

I like the stupid purple brain image, so I’ve decided to keep it as the default image for any article that doesn’t have a dedicated feature image shown in the card view. It’s also used as the “hero” image for all of the pages that don’t have something article specific. I needed something, and this website is primarily about thinking, so the brain is it.

One place the brain imagery has disappeared is in what Hugo calls “admonitions”. These are little sections inserted into the page that have something especially note-worthy that needs to stand out. They could be “warning” or “info” or whatever. I had spent way too much time customizing the HTML for these to show icons and have colours, and they still wouldn’t do things like highlight code snippets and other formatting inside. But some of them had a version of the brain in them.

In Hugo, these just work, and while they lose the specific site feel that they had, the new look is a bit more professional.

Note

This is a notice admontion and can see that it supports italics, bold and codeSnippets()

Tip

Here’s a tip. All of the colours are defined as part of the theme.

Important

This is an “Important” admonition.

Away From GiHub Pages
#

One of my other goals was to move away from GitHub, mostly due to my philosophical objections to its owner. Initially I wanted to move to Codeberg Pages, since I will be migrating all of my projects to Codeberg over time.

However, my development environment is fully behind my firewall and Codeberg Pages does not support DNS challenge and response for authentication. There’s no documentation about this, but that’s the error message you get when you finally clear through all of the other issues and errors when trying to configure workflow actions out of my Forgejo site.

So I went for Grebedoc.dev, which has been built, I believe, out of frustration with some issues with Codeberg Pages. Anyways, it seems to be a good web hosting site, it’s free and integrates with my Forgejo/Hugo infrastructure exactly the way it should.

In case you’re curious about this. I have a Forgejo server with a repository for this website on it. I do the editing on my workstation with Pulsar, and then commit/push the changes up to Forgejo. The repository has a webhook implemented to call to my Hugo server after every push. That webhook has the Hugo server do a fetch, and then Hugo rebuilds the site. Then I can surf to the Hugo server and see the development version of the site in my browser. It takes only a couple of seconds for me to see the results.

When I want to publish, I have a workflow that calls a pair of runners. One is on the Hugo server and it downloads the site from Forgejo, builds it and uploads it as an artifact to the Forgejo repository. Then the second runner is called on a Docker server that is used to run a git-pages action that needs to run in a Docker container. This runner downloads the artifact from Forgejo and uploads it to Grebedoc.dev.

I probably would have gone a different route, but I already had a Docker server running, and since it’s the same instance of Hugo running for both my development builds and my deployment builds I don’t have to worry about version differences with Hugo.

I’m likely to write an entire article about this setup. Maybe generally about maintaining a local Forgejo service with integrations to outside publishing, including Codeberg repositories.

Related

Blog Entry 2

21 mins
If you are self-hosting, then you should probably have a public domain registered. In this article, we’ll look at why you should do this, and the things that it helps.

Blog Entry 2

21 mins
If you are self-hosting, then you should probably have a public domain registered. In this article, we’ll look at why you should do this, and the things that it helps.

You Need a Public Domain

·21 mins
If you are self-hosting, then you should probably have a public domain registered. In this article, we’ll look at why you should do this, and the things that it helps.

Managing DNS Services

·22 mins
Everything you need to know about DNS if you are self-hosting. How to use Technitium to host a private DNS server in your homelab.

Whole Home Audio With SnapCast - Part III

14 mins
The final installment of a 3 part series describing how to set up whole-home audio using SnapCast, Mopidy and Rasberry Pi’s. In this article, we look at how to install and configure Mopidy as a streaming service, and how to connect it to a SnapCast server.

Whole Home Audio With SnapCast - Part II

14 mins
Part 2 of a 3 part series describing how to set up whole-home audio using SnapCast, Mopidy and Rasberry Pi’s. In this article, we look at how to configure a Raspberry Pi Zero as a SnapCast client.