So, here it is. My website and first proper blog post. Not made in WordPress or such but instead made in just under a mouth in Hugo. Everyone in the music industry seams to stick with and use WordPress for a number of reasons from themes and plug-in support as well as a gui web interface for content creation. That’s all and great for those that have a boatload of money and music management company to make mange and maintain the website and whenever plug-ins need updating.

Background

I first started working on my own website during COVID, writing HTML files in Adobe Dreamweaver, which even then started to get very slow on modern hardware. As I mentioned before, everyone seemed to be using WordPress, from Dave Seaman to Moby and various other music artists. However, the problem I found with WordPress was not just the maintenance; I wanted to have my own theme. I originally paid someone to work on building a theme, but even after the work was done, there were still bits that needed maintaining. Not only that, but if there was a WordPress update, some parts of the theme would end up broken—simple things like navigation being changed, and so on. Throw in an unstable income where resources and money were tight, as well as more pressing matters such as tidying up the archives, and it meant I just did not have the motivation to maintain or update the website.

Issues with WordPress

Don’t get me wrong, WordPress is great for dynamically changing content. I use it for the IT side of things, such as contact forms and allowing clients to leave feedback. However, much of the main website would not necessarily be changing all that often. I also found that WordPress needed quite a few plug-ins, such as Advanced Custom Fields, to work properly. Not only that, but just like the whole of WordPress, these plug-ins need to be regularly kept up-to-date. This can be done with auto-update options, but there were various tools needed to ensure a WordPress website was not vulnerable to exploits. The biggest challenge would be if a plug-in becomes abandoned or stops working, meaning one then have to find an alternative plug-in that may not work as well. Many plug-ins often have free features that work quite well, but many also have paid features that come at a steep cost. It seams it is very likely that due to a third of websites using WordPress, more resources are needed in developing plug-ins, and it is even more likely that someone would pay up.

Another challenge with WordPress is that it requires using a database. From experience, having a content management system database can cause websites to be quite slow to load. Comparing to Markdown files, which are essentially text files, WordPress relies on a database, and if something goes wrong or the database gets corrupted, it’s a nightmare to sort out. Generally, I think the future should be as database-less as possible where feasible. The final problem with WordPress is that there’s no ability to export your data and content to a raw format. While it is possible to back up your WordPress website to a zip file, restoring it can be problematic. As I found, some plugins would back up your WordPress website in various ways, making the backup not open correctly or encountering file upload size restrictions.

It’s great that WordPress is open-source and supports ActivityPub thanks to the activity-pub plugin. However, I wanted something that would work without having to keep fixing a theme or similar issues whenever there was an update. The final problem with WordPress is that if one updates the theme, the changes are not seen instantly. I did try running WordPress locally, which was easy to set up, but as I said before, the restore process was very challenging due to the way many different plugins worked in backing up data. So even when one did a theme they liked locally and added content, there was a challenge to restore it on the web server, as some backups would not work or fail to upload.

Rise of Markdown

As things in life got more stable, I later thought, what if I could write in Markdown format and then the content would just show up? Markdown is highly useful, and one does not need to be a programmer or have a degree in computer science to use it. There is no compiling or anything like that. If you make a typo, it doesn’t matter. Just edit it, like I’m doing while writing this blog post, and that’s it. I looked around and gave a few options a try, such as Jekyll and Hugo. Jekyll worked quite well once I got past the Gems and Ruby part. Hugo was very quick to start up with and install. I simply typed winget install hugo, and that’s it—Hugo was installed. I could then type hugo server and see a local-only preview of the website and theme.

Creating the Theme

As I have said before, I am a designer, not a programmer. So the idea of creating a Hugo theme seemed almost impossible. However, while people have different views on AI tools such as Le Chat (#BuyEuropean), ChatGPT, etc., they all have their uses. I would not have been able to make a Hugo theme as much of it is written in HTML, and Hugo is written in the Go programming language. But Hugo can read Go programming inside HTML files. Once I got past the theme folder structure, I was able to start putting together the theme. I used Microsoft VSCode, which included GitHub Copilot, but it only had a limited number of queries one could do in a month. So I then looked to see what other options there were. Le Chat required the enterprise business plan, but Google Gemini was free and unlimited. It worked quite well, but at times it would make some very dumb mistakes or break previous parts while trying to fix other parts of the website theme. However, for small, minor fixes, Gemini worked fine. It does take quite a bit of trial and error and, at times, reverting to a previous save. But eventually, after a few weeks and late nights, I had created my theme.

I also scripted the theme to make use of MusicBrainz to add artist discography data to a JSON file that Hugo can read. This saved me, and hopefully others, time from manually adding releases onto the website. I even found I had added a duplicate remix and a DJ mix I did, did not have cover art uploaded which I made for it. Instead, releases can be added onto MusicBrainz, then run the script, which could be set to run weekly at maximum to not overload MusicBrainz, to always keep the discography page up to date. I also ensured the theme would work fully on mobile as well as in dark mode. I had set up a staging subdomain with a Git server to upload changes in the public folder directly onto the web server. I was then almost instantly able to see what the website would look like on mobile, be it on Firefox or a Chrome-based browser such Chromite

Conclusion

Once you have tasted Hugo, you almost don’t want to go back to anything else, such as WordPress, which feels bloated, big, and slower with more work. A bit like a large container ship moving along the water. Hugo, on the other hand, feels lighter and simpler with no vendor lock-in. Almost like the Enterprise from the 24th century. Its quite likely that anything in the 2th century can open the files as they are just a bunch of text. I can move the theme files and project folder where I want, when I want, and simply upload the public folder contents into the public folder on the web server. Within moments, one has a website—no database to mess with, much smaller before content is added, and a well-made theme that anyone can make use of. AI tools such as Gemini and Le Chat certainly have their place, but not for everything. Certainly, in programming and scripting, they are going to become much of the norm. They are also highly useful for writing and helping users who are not always great at blog posts. However, I do not believe it is right to use them for image generation and then pass an AI-generated image as hand-drawn artwork or similar. But on the other side, it’s fun and funny to create artwork of yourself and such designs when you don’t have said resources. almost like a Holodeck.

It seems that when one uses AI to help with programming, what used to take months, such as this, can now be cut down to just weeks. What used to take weeks to do can now be cut down to just days; what used to take days can now be cut down to just hours. It is inevitable that there will be some refining made, and the fact that I don’t post much isn’t that I’m not doing much, whether in music or not. It’s just that I would rather be getting things done. Just as how many small blogs and small projects have given me ideas. I hope this will help someone else out as the future is open source.