It looks like right now you're keeping all your journal entries in one long page, then using CSS to show or hide them with the clever
[id]:target trick. But it sounds like you'd like something more-sophisticated, perhaps with separate pages for each post? (Which will be helpful when you've got
loads of posts!)
You could, of course, just make separate files for each post and link to each of them just like you do with all the pages you've already made. The big downside with that is that if you want to change something that's on just one of them, like the flames in the footer... then you have to change all of them. That's a drag! So I'm assuming you're looking to avoid that!
Broadly-speaking, there's two places the work can be done: (1) on the webserver, or (2) on your computer.
There are smart and helpful people here who can help with either! Or both! But here's the very basics so you know what you're talking about:
Doing it on the serverDoing it on the webserver will require that your server will let you run a server-side programming language like PHP. This would mean that you could do something like keeping each blog post in its own file, and then having some PHP code that listed them all, or showed the one the visitor asked for.
So when somebody goes to
https://edgyrabbid.space/Blog, then instead of getting index.html, they get index.php. And instead of containing all of your blog posts, index.php contains some code that gets run on the server to make a list of all the other files and then make a list of links. And each link goes to a different address, e.g. something like
https://edgyrabbid.space/Blog/show-post.php?post=2025-10-16 or something, where that bit at the end tells the code in show-post.php
which post to display.
This means that adding a new post just means uploading one new file to the server. The code will automatically find it and link it from the list. And if you want to change the design of ALL your blog posts, you can: just change show-post.php.
It might also be possible to do it on the server with some imaginative use of JavaScript, frames, or similar. Not quite as slick, and not quite so much can be automated, but an option.
Doing it on your computerIf you can't, or don't want to, run code on the server, you might look at a Static Site Generator. These are tools that run on your own computer. You give them a pile of files (e.g. with one for each blog post with just the HTML for that post in them and maybe some metadata list their titles), they give you a different pile of files (e.g. one that is a list of links to blog posts, one for each blog post, and so on).
There are lots of different Static Site Generators.
11ty is very popular.
Hugo is very fast. I'm very partial to
Jekyll. They've all got some dependencies and "set up" work involved, sadly, but there are helpful getting started guides and videos for most of them nowadays. And, of course, everybody here (I'll bet somebody's got some good tips!).
What exactly would your dream solution be? Feel free to point any anybody else's site and say "I want something like that!" If they're here, they can probably even tell you how they did it!