Blog
Hello Blog
August 7, 2023
111 Views
Hello! Thank you for taking the time to read my first, of hopefully many posts! How did this blog come into being? What are some of the features it has? Stay tuned as we discuss more.
I had been thinking of building a blog since I launched this website, but I put off the idea for a long while, trying to curate the perfect stack and tools for a blog. I was fairly deep in "technical decision paralysis," asking myself questions like: "What do I use to build this blog?", "Where do I host the blog?", "Do I need a Content Management System?", "What will the editing/authoring experience be?", "Should I make it editable in place?" "Will it work with React Server Components?", etc.
The Truth
The truth I realized was that readers care less about the details and more about the content and ideas in this blog. The behind-the-scenes concerns have a place but should be motivated by the right reasons. Many experienced software developers have the skills to whip together the most up-to-date and technically impressive projects in mere hours, but restrain themselves to deliver value upfront, and on time! It is a discipline, I hope to work on each day:
To lead with purpose, and solve problems as they come, one step at a time.
In fact, I came across the perfect message when researching tools to build this blog in next-mdx-remote
's README:
Hashicorp's next-mdx-remote README
As the picture above suggests, this website was already somewhat of a blog before this 'new' Blog section!
So, what did I settle on for building this blog? Is it just HTML and CSS? Well, technically yes 😉, but there are a few steps "behind-the-scenes" that I will share for the interested reader!
Behind-The-Scenes
Beneath the surface of this blog, we have Next.js (App Router), MDX (with Frontmatter), MDX Remote for serving .mdx
files from the file system, TailwindCSS for styling MDX components, and finally React Server Components (RSC).
The first step was setting up MDX in Next.js, deciding against using a Content Management System (CMS) and instead using the file system, and finally overriding MDX components with TailwindCSS as necessary to make things look and feel good. By taking the first step in, I was able to answer some questions I had piece by piece!
Furthermore, with the power of MDX, standard blog features like code blocks w/ syntax highlighting, heading link targets, (optimized) images, tables etc, have been added or enhanced.
In the end, I can say that Markdown as the authoring experience, and the file system for storage is reliable enough for the blog today.
Inspiration
Furthermore, questions about implementation details, styling and organization were answered in consultation with the following wonderful websites: leerob.io ✨🤖, joshwcomeau.com 🤖, and dominuskelvin.dev ✨✍️. I will continue to monitor them and others for more tips and tricks for blogging and for software development in general. I also hope that one day, my one site can be an inspiration to someone else 🥹.
Conclusion
In conclusion, I am very excited to be starting this blog and will be using this as a space to share ideas and thoughts on life, software development and, Twitter posts that never make it out of drafts!