Published on Jan 9th, 2022
Oops, I did it again…
I redesigned my blog site. To be honest, the dopamine rush of the new pretty gradients almost distracted me from the fact that I have made more blogs than blog posts in my lifetime.
Clearly, I am more confident in my ability to create a website than in writing content for the internet. But why is that? I wasn’t born with the power to implement blogs. That confidence came from lots of practice coding things.
If I want to become a better writer, I’ll need to build up that confidence through actually creating written content.
Breaking the redesign cycle
With previous website implementations, I made my job as a content author more difficult than necessary. My undying love for Elm led me to roll my own custom blogging platform.
Because of the quality of this custom tool, there were too many manual steps I had to take to publish a new blog post:
- Create a new markdown file
- Update the blog list page to include it
- Make sure the sitemap includes the new URL
This reminds me of a specific experience I feel when adding a feature to an old codebase after a few months. When I build a game or app with Elm, I know I will be able to hop back in and be able to complete my task. On the other hand, when I come back to one of my old JS projects, I spend a lot of time wondering how the heck I wired everything together.
Was this using Gulp or Parcel? Did I use SCSS or CSS-in-JS? Did I use TypeScript? What kind of patterns was I using at this time? All these questions lower my drive to hop in and get things done.
Choosing to roll my own half-baked blogging platform made me feel those insecurities when it came time to write a post. It’s easier to write an article on Medium, dev.to, or even better: to not write anything at all.
If I want to get more practice, I should make the process of writing as impediment-free as I can.
Choosing Hugo
The website you are on is built with Hugo. Here are a few o fthe characteristics that made Hugo the best choice for my writing goals:
- Markdown to HTML - I write my blog posts in
.md
files and hugo maps them to HTML and CSS at build-time. This allows me to author content in VS code, GitHub, or a CMS like Forestry. - Free and easy hosting - Because the website is static, I can host it for free on Netlify. It connects to my GitHub repo, and deploys when I update markdown or code!
- Server-rendered & SEO ready - I have full control over how content appears when I share it via Twitter, Discord, Slack, etc. Hugo has the ability to render
<meta>
tags and generates a sitemap for me. - Pre-built archetypes - Hugo allows me to create templates called “archetypes” and scaffold new posts with the
hugo new
command. This makes it easy to track what information I need to fill in for each new post on the site. - Blazing fast site builds. – As I add more pages, I won’t need to worry about slow build times or laggy feedback loops
- More than one guy uses it - Even though I’m pretty tight with the guy who made my previous blog platform (again, literally me), that dude has a questionable memory. It’s nice to have a tool with extensive docs and a community of users.
Wish me luck!
I’m hoping the ease of content entry (and how much control I have over its presentation) encourages me to share more content online.
My passion for building apps, designing games, and sharing them with a URL is why I got excited about web development in the first place! I’m grateful for my ability to create these experiences, and I hope to get better at sharing them as I go.
Thank you for taking the time to read my first post! There will be many more to come, but if you are reading this in January 2022– you should mess around with some of the games in my arcade!