2023/11/06

First Blog: My Own Blogging Software!

Hello! I'm NorthWestWind! And this is my first ever blog (as far as I remember)! I think it may be good to introduce myself a bit first.

I go by the name NorthWestWind online. You can call me "North" for short. If you are typing and want to go with even fewer characters, you can use "NWW". I'm a Hongkonger, Splatoon Brella main, vector artist, Minecraft modder, and a computer science student. At the time of writing, I'm 19 years old. Pronouns aren't really something that bother me, because in spoken Chinese, all pronouns go by the same word (佢), but if you do want to refer to me, use he/him.

Might as well plug my other links in here.
I run the coolest website you have ever seen, North's Elevator. It's an informative website, but also like a game. Unfortunately, you need WebGL to be able to run it, and it's quite resource-heavy.
I also run a YouTube channel (NorthWestWind) and a Twitch channel (NorthWestWindNWW). Most video currently posted are Splatoon related. Occasionally, there are also Splatoon animations.
Shorter thoughts of mine won't get its own blog, but will be posted to Wet-Dry World, a Mastodon instance. Arts also go on Wet-Dry World.

I'm done doing shameless self promotion. Let's talk about the blogging software.

The Blogware

This is a selfhosted software for single-user blogging.

The source code is open, and is hosted on GitHub. It is created using React and Express with Node.js. Right now it is very not generalized, and I don't know if I will ever generalize it for others. You can still use it on your own. Just fork it and modify some stuff.

This blog post might also serve as a manual.

Configuration

Aside from manually editing the files, one may also edit the .env file. There are 3 fields:

ABOUT_REDIRECT is the address the page will redirect to when you go to /about.
PASSWORD is a string that you must input before making any edits to anything. More detail on that later.
PORT is just which port to use for Express.

Structure

The main page is, obviously, the root of the domain. There aren't a lot of special stuff to talk about the main page.
The about page currently redirects to this post. This is the most effortless solution I have without me writing another fricking paragraph to talk about myself.
There is also the list of posts. It lists all the post I have ever posted.

To make a new post, go to /new. There are 3 fields to fill in:

The first 2 fields are self-explanatory. For the password field, you should input the password you set in .env.
Once everything is well input, click the Create button. If success, it should say "Created!", and you will be redirected to the editing page.

The URL of the edit page is in the format "/edit/:year/:month/:day/:title".
The first thing you should do here is again, input your password. After that, press enter or unfocus the input field, and the file list should populate itself. You will start with an index.html file. This is where you blog goes! Yes. You write an enter HTML file for the blog.

You can then see your post by going to "/p/:year/:month/:day/:title".