Statically generated sites are great. I’m pretty terrible at keeping personal
sites updated with fresh content but I’ve always enjoyed generating, theming,
and customizing static sites.
Jekyll was my first exposure to a static site
generator. I was writing a good bit of Ruby in those days. Fast forward to
Golang and I’m now on the Hugo train.
Given the static nature of the generated content, there are obvious challenges
when implementing engagement mechanisms. Share/social media links are pretty
straight forward, but things like commenting require some sort of third party,
external service. Fortunately there are many services out there providing this
commentbox.io are two such services.
Unfortunately, these services introduce unwanted tracking/beacon activity and they burden any potential commenter with the need to either login or signup. I get that providing signup free and anonymous(with the ability to supply an identifier if desired) posting isn’t for everyone, but this is exactly what I wanted. I couldn’t find any such option.
I did give
commentbox.io a try because they claim painless embedding and no
tracking. They are correct in that the embedding is painless, but I did notice
some google analytics stuff going on and I wouldn’t exactly call that “No Tracking”.
Reviewing the embedding instructions, it’s literally add a
div with a given
class, add a
script tag referencing a remote
src, and another
to initialize the remote script. I thought “I could probably build something like
Thus, RantBrain was born. The results can be seen at
the bottom of this post. While very similiar in nature, my implementation
differs in a few ways. As mentioned above, there is no login or signup process
required for a commenter. I took this a step further and extended the same
courtesy to the maintainer of the site using
RantBrain(maybe this is just
commentbox.io’s implementation requires you to have a
commentbox.io account, create a project for that account, and pass the
project-id into the intialization function. My approach simply relies on
window.location.href. When someone posts a comment, the comment is assigned
a uri from
window.location.href. When the page and script are loaded,
window.location.href is used as a query string param to fetch posts for that
You can get started with RantBrain by adding this to your site:
<div class="commentbox"></div> <script src="https://rantbrain.com/js/comment-min.js"></script> <script> // Block comments by Comment ID var block = [10, 8]; // Initialize comment system initComments(); </script>
At this time, the service is free of charge. Visit RantBrain for more info, or if you’d like to donate to help with operation costs.
And please leave a comment below!