Embracing Failure: My Struggles and Wins with Hugo
When I decided to dive into Hugo, I expected a learning curve. What I didn’t expect was to start the same project six times. From misunderstandings about front matter to YAML vs. TOML confusion to messing up Git submodules—I hit roadblock after roadblock.
The Struggle Is Real
Let’s start with the basics: Hugo uses something called front matter, a block of metadata at the beginning of each content file that defines things like the title, date, and tags. Simple enough, right? Not for me.
I kept running into small, seemingly insignificant errors:
- Forgetting to close a tag properly.
- Mixing YAML and TOML syntax in the same file.
- Misconfiguring the Git submodules when adding a theme.
Each time, the result was the same: frustration, failure, and yet another restart. By my fourth attempt, I wondered if Hugo was really worth the effort. But something changed.
From Frustration to Understanding
Every mistake taught me something new. Slowly, I started to piece together how Hugo works:
- YAML and TOML are just two ways to write the same kind of data, but they don’t mix. Pick one and stick with it.
- Git submodules require precision. Cloning a theme or moving files around carelessly will break things.
- Front matter isn’t just metadata—it’s the glue that holds your Hugo project together.
By my sixth attempt, I managed to get the Stack theme by Jimmy Cai up and running. It wasn’t perfect, but I had a basic site that looked like the demo’s shell. For the first time, I felt like I was making progress.
Why Failure Is Necessary
Today, people are afraid of failure. We want instant results and get discouraged when things don’t work the first time. But the truth is, failure is essential. Every error, every restart, every frustration has brought me closer to understanding Hugo.
Now, I’m at the point where things are starting to click. The site still doesn’t look exactly like the demo, but I know it’s just a matter of time and practice.
Moving Forward
Learning Hugo has been humbling, but it’s also been rewarding. With each step, I’m getting closer to building a site that not only works but feels uniquely mine. There’s still so much to learn, but I’m okay with that.
Next up, I’ll be diving deeper into customizing the site, working out the finer details, and finally making it feel complete. Stay tuned as I share more about this journey—both the challenges and the victories.