Falling in love with static sites
One of the most impactful thing I learned when starting my journey into digital practice was the existence of static websites. Prior to learning about these, I was deep in the world of WordPress and other website generators. I did not understand them in any comprehensive way, mind you… I just got pretty good at navigating the interfaces. I mean, that’s all most people who are considered by the general public to be “good with technology” these days can really do anyhow… but that’s a rant for a different post.
It was only when I started to work at SUNY Geneseo’s Center for Digital Learning, learning from the Digital Thoreauvian himself, Paul Schacht, that I started to really understand the internet and web. While I already knew a fair amount about HTML, CSS, Regex, and the like in the context of editing on WordPress-related platforms, I went on to learn more powerful techniques like data manipulation via Python and R, how to use Git for version control on my machine via the CLI, how to write some (very simple) handy scripts, and, of course, the biggest game changer, how to create static, flat-file sites.
I was instantly hooked on this idea. It was so empowering to write something in a few files, organize them and link them just so, then see that content come back to me in my browser. No fancy tools or platforms; just me, my text editor, and my browser.
I started out just serving straight HTML and CSS files through GitHub Pages, then Paul introduced me to the static site generator, Jekyll. By now, you’ve probably gotten the impression that I think there is something horribly wrong with Jekyll, because we’re no longer “together.” Well, let me just say that it’s an amicable separation. I really admire Jekyll! It made me learn YAML, get really comfortable with file structure, write publishable content in Markdown (love me some Markdown), and show off a really slick, super fast site. Paul had set it all up and I just had to maintain, make some superficial updates, and add content to it. Sweet deal.
Then, when coming to Reclaim and deciding to spin up a little project on GitHub using Jekyll, we hit a serious snag in our relationship.
See, I had been able to get away with pushing changes directly to the Jekyll repo on GitHub without previewing them while working for the CDL; I never had to serve Jekyll locally to make sure things looked okay before publishing. I told myself that it was fine to do this because our site wasn’t heavily trafficked and could handle some rapid-succession changes every now and then without anyone really being the wiser. Best practice? Absolutely not. But why had I made that choice?
Because I hate Ruby.
There. I said it. I hate it so much.
I’m probably not being very fair to Ruby here, because my problem with it is likely wholly due to my own incompetence. I’ve simply never gotten it to work on my machine. Yes, I use Homebrew. Yes, I’ve tried many times to successfully set up a Ruby environment. No, it’s never quite worked out. And, no, I don’t fully understand why.
And that’s really the worst part of setting up Jekyll: it requires Ruby. And no matter how carefully I’ve followed setup instructions, when attempting to serve Jekyll I would consistently get the following error:
Could not locate Gemfile
I was looking for a way out. Then, Taylor at Reclaim mentioned a different static site generator to me, and it was love at first sight.
Hugo is a blazing fast static site generator that is written in Go and supports YAML, TOML, and JSON markup. Taylor builds his personal site in Hugo and it’s lovely. I realized that this is the way.
Starting out with Hugo is wayyy easier than setting up Jekyll, for me at least. You really don’t need to have any dependencies in place before finding a basic theme, plopping your content in the right place, and you’re up and running. Once you understand where everything needs to go to be read properly, it’s pretty easy to see your content start populating.
Trust me, if I can handle this thing, it’s exceedingly simple to use.
I’m not fully finished with my project yet, but I’m having a lot of fun with what I’m learning and can’t wait to see how it comes together!
Maybe one day I’ll dabble with Jekyll, as it has its pros. But, for now, I’m sticking with Hugo.