(I used 招き猫 for the cover image because the alternate working title of this post was “How Being a Cheapskate Finally Dragged My Website Out of 2015” and the juxtaposition made me laugh.)
I really dig my new setup. You might too.
Why Hugo?
I had vague aspirations for a blog back in 2015-ish, which turned into serious intent around February 2018. (I…might be a slow engineer. Just a bit.) I wanted something light, secure, and flexible, so something like WordPress was already out of the running. Static site generators were starting to become all the rage, so I figured—why not?
Okay, but why Hugo specifically?
No lie, I Googled “best static site generator” back in 2016 and people kept raving about it.
Also, being able to just go apt install
with a release .deb
then hugo server
was pretty appealing for development.
Why Forestry?
A few months ago, I wrote a tweet that still makes me laugh, because I’m easily amused:
me, age 14, neck-deep in standard techbro toxic masculinity: GUIs are for scrubs, real geeks do everything in terminal
— Tracy・蘇志 (@tofu_turtle) December 1, 2018
me, age 24, tired millennial: no
I could write longform content in my text editor, and I have (shoutout to whoever wrote \( \LaTeX \)Tools for Sublime, you helped make all my undergrad linguistics papers look really impressive), but I don’t want to when I can avoid it.
Enter Forestry. It’s a git-based headless content management system that’s really quick to set up, and the UI shows everything I want it to show at first glance, organized even when the file structure isn’t. Since it pulls directly from a git repo, it doesn’t get in my way when I do have to write Markdown by hand in order to write more technically-involved content.
It also has draft support that’s provider-agnostic, and the mobile interface is pretty nice to use when I want to work on a draft on the go. (I use neutriNote for quick note-taking and it’s a full-fledged Markdown editor, but getting stuff off my phone takes way too much effort.) I like outlining essays and I’m a disjointed writer, so drafts are important to me.
Why Netlify and Cloudinary?
Once I decided to go full static, I knew I had to downsize my hosting. I was already in the market to switch after my old host got bought out by EIG, but finding a barebones host that didn’t require me to basically be a sysadmin was tough. I was about ready to use the free hosting plan my ISP provides when I read a comment on Reddit (paraphrased) that made me go 👀:
If you don’t want to use GitHub Pages, you could still get free hosting and git piping through Netlify.
If you have everything ready to go and your site builds locally without any issues, pushing to Netlify is basically a one-click operation. Since both Netlify and Forestry work through automated git pipelines, the two have pretty good synergy. (Before you ask why I didn’t just use Netlify CMS: it was kind of clunky to use in a development setting and Forestry just met my needs better.)
While I could’ve easily just served images straight from Netlify, I was worried about load times and the extra work that cropping and resizing every single cover image I decided to use would involve. Both Netlify CMS and Forestry mentioned using Cloudinary as a potential CDN for images, so I took a look. It has a pretty robust on-the-fly transformation system and the free tier is really generous.
Conclusion
And that’s basically how I set up my site: simple to use (once I got all the kinks ironed out) and only paying for my domain name.
Using an SSG can be one of the cheapest and simplest ways to get a website that looks nice. Depending on the type of person you are (i.e., not me), you can even get there with minimal effort. If you’re a technical person and want more customization, it can handle that too.