86 Windows

Journey into Linux

← Back to all posts

Change to this blog

2026-05-17

I changed how I manage this site

I knew when I started learning all of this that I would want to document my learning. The intention is not to have anyone actually read or follow this. It’s a record of my own learning for myself. In addition to this, if I ever wanted to send a link to someone to see how I handled something or whatever - I have it documented and easy to send.

I’ve been working in the WordPress industry for about seven years now. So, when I wanted to manage a blog of sorts, WordPress was the first thing I went to use.

Since the blog wasn’t intended for others, I didn’t need anything fancy. So, I used a default WordPress theme and used the classic editor. However, the more I used it, the more I figured I didn’t need WordPress as much as I wanted something far more simple and to learn more in the Linux realm.

The requirements

I figured that since this blog was a record of my progress that the manner in which I managed it should be a part of that.

I knew I wanted something boring and stable. I didn’t want anything flashy or overbuilt. I didn’t want any CMS and wanted to work in terminal as much as possible. I also knew I wanted to write in markdown and not use my regular WHM/cPanel arrangments.

I discussed all this with ChatGPT and together we developed the plan for the system I am currently using for this blog.

The system

The process for post creation is simple:

Locally, I cd into my /posts directory and run ls to get the existing files printed so I can following the file naming format when I create my new post. Currently, my system requires the file name to contain the date before the title of the post. So, something like 2026-05-17-this-is-my-post.md.

Each post had a header section containing information that gets used to display the posts. Like this:

---
title: "School of Bash"
date: "2026-02-22"
slug: "school-of-bash"
categories:
  - Uncategorized
---

The order of posts currently relies on the date in the file name. However, I am going to change it so it uses the date within this post header since I realize writing out the date in the file name is a pain. This is where moving fast with ChatGPT doesn’t work out so well. ha. But, it’s easy to fix.

Posts live in /posts, but I have a directory named /public that is what is actually used to push to the server.

When I am ready to push to my server, I run a script that first deletes everything in /public. Then, it takes my markdown files and using pandoc it convert my markdown to html. It then copies the posts in /posts to /public. It also copies over any assets from my /static directory. Then, everything is pushed to overwrite my /public folder on my server via rsync with a deploy script I then run.

The site is updated instantly. Nothing else to do.

There are more details, but that is the general rundown.

Overall, I am pretty happy with the outcome.