📅 August 18, 2022

My Blog Post Process

I have been creating blog posts for a couple of years now, and I thought it would be interesting to document my current process. Choosing a blog post to write about and putting in the time can be challenging. With that in mind I have tried to reduce the friction in that process to help me continue writing.

I have documented my processes at a high level below.

Choosing a topic

When starting a new blog post, I will usually pull a blog post idea from a Trello card that contains a list of different topics. I add to this card whenever I come across something I think might make for a good post.

blog post ideas

The process

I do my writing in Visual Studio Code and utilize a git repo hosted on GitHub. After I choose a topic, I will create a new branch off of the main branch and create a new markdown file.

I have two Visual Studio Code extensions installed to assist with writing and formatting when working with markdown files:

Markdown All in One

Before publishing a new post, I do a quick spot check with Grammarly and LanguageTool. This involves copying and pasting my article into their respective editors and fixing any issues.

The tech

As stated earlier, my blog files and posts are hosted on GitHub. The blog runs on Netlify using the Jigsaw framework. Being in the .NET world, I'm not entirely sure why I went this route, but the initial setup was very simple. My images are hosted in Cloudinary.

Pull requests and any changes will kick off a Deploy Preview build in Netlify. This allows me to see what the post will look like before updating the production site.

If the Deploy Preview looks good, I will complete the pull request which starts a production deploy in Netlify. After that build completes, the new post will be live.


So that is my process at a high level. As a developer, it feels natural to me to work with Visual Studio Code, branches, and GitHub to post my articles. My Markdown files are backed up, and I don't think it would take much effort to switch to a different platform if needed.

# random