How I installed a comment system on my Hugo blog without losing my mind (entirely)

So, there I was. Minding my own business, tending to my third (yes, third) iteration of this blog like a proud digital caveman, when my mate from work, Tony - says:

“Hey, you should add a comment system.”

Cue the dramatic music.
Cue the mild panic.
Cue me staring at my Hugo build like it’s a ticking time bomb with no labels.

Just Add Comments, he Said…

I loved the idea. But also, I was terrified that implementing it would end in mushroom cloud territory, taking my freshly cobbled together site down with it. We’re talking full restart vibes here, and I’ve already walked that walk… multiple times.

So I did what every slightly panicked, moderately determined, blog-tinkering developer does:
I dived face first into the PaperMod documentation.

Turns out, PaperMod has options. Lots of them. Too many of them. I read the docs. Twice. Maybe three times. But somehow, the more I read, the less I understood. It was like being back at school reading Shakespeare - technically English, but not in a way that helped me.

Enter: Giscus (aka, The Chosen One)

After falling into a few Google rabbit holes and spelunking through some GitHub issues like Indiana Jones looking for lost comment systems, I eventually settled on Giscus.

Why Giscus?

  • It’s open source ✅
  • It uses GitHub discussions ✅
  • No one has to touch Facebook ❌

Because yes, originally, I wanted to use Facebook comments. But after thinking it through, it felt… wrong. Not everyone has Facebook. And more importantly, I’d have to figure out how to wrangle Facebook’s spaghetti-like, black-box SDK. I mean, have you seen that thing?

Also, more and more people these days proudly announce they “don’t do social media” - like it’s a vegan diet for the soul. Fair play to them, but it makes integrating social-based systems tricky.

So Giscus it was. Recommendation approved. Sanity pending.

Fingers Crossed, YAML Ready

Implementing it was relatively painless - once I stopped sabotaging myself.

  • I added the required Giscus JavaScript script.
  • Created a couple of new files for the comment component.
  • Slapped in the config changes.
  • Hit the reload button and refreshed my blog post.

Nothing.

Absolutely nothing.

The majestic comment box was missing. Like a magician’s rabbit that just never appears.

A Classic ‘Me’ Moment

After a few minutes of staring at the screen like it owed me money, I spotted the issue.

I’d named the component file wrong.

Yep. All that work, blocked by one missing “s” in the filename. If that’s not on-brand for me, I don’t know what is.

Corrected it. Refreshed the page again.
Scrolled down.
BOOM. There it was. The glorious, sparkly new Giscus comment box - shining in all its functional, reactive glory.
I did the only thing you can do in that moment:
Left a “Hello World” comment and hit a reaction emoji like a proud parent seeing their kid in the school play.

GitHub Account Required - But Worth It!

If you’re thinking of commenting (please do!), there is one catch: you’ll need a GitHub account.

Now, before you break into a cold sweat, let me assure you:

  • It’s free
  • It’s trusted
  • It only looks scary at first

You won’t need to learn Git or clone any repositories or start any forks (or whatever the kids are doing). Once you’re in, you can comment on a post, plain and simple.

Final Thoughts (and a Message to Future Me)

I’m sure I’ve missed a setting or two in the Giscus config. I might need to tweak some stuff down the line. But honestly? That’s a future me problem.
Current me is just happy the site didn’t catch fire.

So, if you’re reading this and made it all the way to the bottom, I’d love it if you said hello in the comments. Tell me what you think. Roast my YAML. Recommend games. Whatever you like.

Let’s make this a place for conversation, not just caveman monologue.

🦍🛠️
Until next time,
Dave