Goodbye Wordpress
Table of Contents
I have delayed switching away from Wordpress on my personal blog to something different for quite some time. I liked the new idea of a flat-file static html concept, but Jekyll did not appeal to me. Then, Hugo appeared on the scene and appeared to take the rightful place as the cool kid on the block. Hugo has a simple concept and drew my interest from being written in Go, but from my delay in switching, I have been able to discover a potential flaw in my workflow. Occasional bloggers like me are fighting with updates just to add a new post.1
In my opinion, markdown has its own challenges. It seems very clunky and difficult to memorize the correct ordering of braces2 compared to the old-stlye BB code or regular html. Switching to a new blogging platform that adds more complexity AND forces me to move to markdown is not appealing. However, I came across Zola, which I heard updates "once every other glacial age."3 That explanation that enough to pique my interest and switch this blog over.
Wordpress has served me well over the years, and I still have one application running a Wordpress frontend. I have another with Wordpress as a Headless CMS. I will continue to use Wordpress whenever I need an easy admin interface that a simpleton like myself can use when half asleep.4 However, I like the idea of removing another MySql/MariaDB database as I slowly port over to PostgreSQL.5
It took several hobby hours on my day off to make the change, but I have a fairly good workflow now. I asked ChatGPT to create a script for new post generation, and it gave me this python6 file:
# Step 1: Get the current date and timestamp
=
=
=
# Step 2: Prompt user for title and tags
=
=
=
# Step 3: Prepare directory and file path
= # sanitize title
= f
=
=
# Step 4: Write content
= f
I have added a few of my edits to the script it output. For instace, I removed the line creating the directory because I know it already exists and I added a few new lines to the content so I do not have to add them in when I open the file.
My future workflow of creating a blog post is:
python new-post.py
<edit file>
./build-container.sh
./update-container.sh
python announce-to-socials.py
This seems like a lot of steps for one post. I have not even created the script to update or announce to socials yet. I will probably create the announcement cod in golang - so I can include it in the update-container script.
Footnotes
I think I will have to visit https://github.com/pulldown-cmark/pulldown-cmark/blob/f4a326d225e79412b5ecabd1c241c851e8160815/guide/src/cheat-sheet.md regularly ↩
This is the true test of application robustness. ↩
I like that PostgreSQL has an easy admin interface with PgAdmin, better integration with Prometheus, and had easier options to load the data into RAM for faster queries. ↩
Python is another one of those languages that I try to stay away from. I prefer more elegant looking code like TypeScript, Ruby, or Go. ↩