The Blog Not Taken
"Two roads diverged in a yellow wood, And sorry I could not travel both and be one traveler, long I stood and looked down one as far as I could" - Robert Frost
My requirements for a new blog stack were the following:
- Must allow me to write the blogs and Markdown format
- Free hosting of the site at least initially
- Use a tech stack I'm familiar with
- Support code formatting
Initially I was solely focused on Vuepress as my blogging site. Vue was the first javascript framework I went in depth with 5 years ago, so naturally I had an affinity for it. As I went down this path though of using the blog theme I came to realize the framework was in the middle of releasing a 2.X version and the original templates for the blog were out of date and at least for me hard to work with. Although I decided to not go down this route here are the most helpful links I found while on this path:
- Blog Plugin Docs
- Blog Github
- Package in NPM
- Vuepress Theme Blog
- Live Example
- Video On Blog Creation
- Blog about Vuepress Blog
After going back and forth between Vue 1.X and 2.X for a bit I decided to move on and see what other stacks had to offer. Which led me to this awesome site JamStack, there generator page has an awesome list of the top generators. Generators can be used to generate your blog. I ended up choosing Next.js as my generator because it was very well documented with great tutorials so getting spun up was pretty simple.
Here's how Next.js met my requirements above:
- Next.js getting started tutorial builds a blog that uses Markdown
- You can host your Next.js site on Vercel using their free hosting tier. Docs on how to do that are here
- On my current software team and while I was with the Phillies we used React for our Frontend. Next.js is a framework built on top of React.
- Next.js already has an article on using Prism with Markdown in Next.js , also this article discussed MDX which I hadn't heard of before but will be useful for styling my posts.
Here's a list of the other generators I considered:
- Gatsby: Seriously considered this but I'd already started the Next.js tutorial. After reading some reddit threads and some articles I decided to stick with Next.js for now. These are the articles most influential in my decission not to go down this path:
- Hugo: Framework looks cool but I don't know go so doesn't meet req 4.
- Jekyll: I did like that this was easier to host with pages, but also not a Ruby guy so doesn't meet req 4.
- Nuxt: Didn't get too far down this rabbit hole but I think if I went this route instead of Vuepress initially, I'd be blogging in Nuxt.