How I write a blog post
Uhhhhh, this post is a bit meta in a silly way that I might regret but it looks like I’m going to Do it Anyway. Since last post was the 100th post on this site (which means I post here on average every week and a half) I feel like I’ve acheived my personal goal to making blogging easier. So here’s a quick thing about how I do it…
1. Start writing in Notepad++
Most posts on here are about a technical problem, so I probably just paste it into Npp and then start writing around it. I love Markdown and it makes it easy to write a structured document quickly.
I save this in my local folder copy of my website file structure. To make the file name - and this bit is trickier than it should be - I copy the title from the top line, open a new Notepad++ tab (Ctrl+N), select everything (Ctrl+A), lowercase everything (Ctrl+U), open find and replace (Ctrl+H), and replace all spaces with ‘-‘. Sometimes there are other special characters like apostrophes so I just do the same for them, and then if necessary, replace ‘–’ with ‘-‘. But that’s a big paragraph for a process which realistically takes five seconds and which I should just turn into a macro!
2. Upload it
When the post is ready, I open FileZilla and connect to my website. I browse to the /upblog/posts
dir on the server and upload the file from my local folder.
3. Reload the blog
There’s a special URL built into Upblog which re-parses all the blog files and metadata files, creating new metadata where there is none. This essentially publishes any unpublished posts. So I just go to this URL in a new browser tab.
Fun fact: Upblog used to do this process on every guest visit, which stopped being performant after about 10 posts. So I refactored it to be a periodic bulk job.
4. Test it
I now go to the upblog main page and check that the post shows up in the list of recent posts. Then I proofread it one more time and test all the links.
5. Iterate
If it needs a fix, I just repeat step 2. None of the other steps are necessary because the metadata has already been generated (that is, once a post is published, it stays published)