Hugo: My New Blog Platform

Overview

My blog has lived a number of places across the web including Tumblr, Squarespace, and WordPress. Earlier this year I made a decision to take it a completely new direction - Hugo + Git + an object storage bucket.

Hugo is a CLI static site generator - all of my pages and posts are markdown files that Hugo marries with a theme, and outputs in static HTML which lends to small site size and incredible speed. This entire website, including visual assets, is 1.3 MB and incredibly fast sub-one second load times at 913 ms.

There was no easy, automated migration but with less than 20 posts brute force was my tool of choice. It also gave me the opportunity to get rid of some old content.

Why

First and foremost I needed a new project to tinker with and saw Hugo mentioned on Twitter. Seemed like a great tool to play around with and learn more about. After researching more about it, I was sold.

  • Nerdy: It is command-line based, and a fun (my definition) tool to use.
  • Cheap: It’s free!
  • Fast: The entire site is 1.3 MB with sub-one second load times.
  • Low Maintenance: No server to maintain
  • Backup: All of my content (and versioning) is in Github!

Workflow & Tools

Here is the what and the how I get it done, my “tool belt” if you will.

Visual Studio Code

Details
My code editor of choice where I write blog posts in Markdown format.

GitHub

Details
My syncing/backup/versioning platform that allows me to easily deploy updates, sync posts between computers, and backup config/assets.

Hugo

Details
Quick and easy to install on Linux, Mac, or Windows - it will run on your machine.

Linode Object Storage

Details
My host of choice. I have a bucket and SSL cert for my website setup. Once it was configured properly, no further maintenence or adminitration required.

What’s Next

I’m working on a serverless function on GCP that will be invoked upon a commit to Github to sync updates automatically to the storage bucket.





*A referal link with a bonus for both me and the new subscriber.