Social integration features make it easy to capture all the conversations going on about your posts across Twitter and Facebook, and pull your friends into the conversation
If any of you find a good alternative, make sure and let us all know. I can’t stand Disqus. It makes me wince when I open my browser’s Dev Tools panel and watch how resource hungry and slow to downlod it is. Unfortunately I’ve not been able to find an alternative [I think LiveFyre suffers from pretty much the same shortcomings as Disqus].
The most potentially promising sounding one I came across was ISSO but unfortunately, I couldn’t get it working on my server. I think I must have a weird Perl setup, or something, because I never seem to have much luck with getting Perl-based apps to play nice.
Many moons ago, there was talk of @spf13 working on a JS based comments system, which would presumably have been a good fit with Hugo. But I’ve asked about it a couple of times and never got any response. So I’m guessing it’s been filed under “abandonware”.
Markus from Smashing Magazine here. Great to be here on Hugo.
You probably haven’t heard about https://www.discourse.org/ yet, but it looks like a great alternative to Disqus. Disclaimer: I haven’t used it yet.
It’s open-source, and it’s actively maintained by a great community. It’s free if you are self-hosting it. Last but not least, they put some great efforts into making the platform as engaging as possible.
@indysigner Discourse is great. As @RickCogley says, it’s what this 'ere forum is running on.
Unfortunately it’s a massive Ruby application with a ton of dependencies and it’s a complete arse to set up, unless you use something like Docker to install it. In which case you pretty much need to give it its own VPS space.
It’s also quite resource hungry. I did manage to get it running on a $5/month Digital Ocean droplet, but the recommended minimum server spec would equate to their $10/month package.
All that might be OK for a heavy traffic site with a big and active community. But I reckon, for the casual blogger who maybe gets a couple of comments every now and then [eg. me!], it’s huge overkill.
I did come across a node.js based forum called nodeBB, which looks pretty superficially like Discourse and, being node.js based would [presumably!] be a lighter and easier install. But I’ve not got around to trying it out yet.
Ah, I’d vote strongly for nodebb :). I know that it has the integration hooks we need, but not too sure how to access them. @stiobhart I’m PM-ing you an admin login to a nodebb I have up, if you want to poke around. There’s zero content on it, if you cause it to catch fire, I will merely redeploy :).
It seems that mesages are not running on this here discourse. Since i’ve deployed discourse in the past, I can’t say I’m too shocked. Anyway, drop a line on hangouts to faddat@gmail.com . I am good with the back end stuff and terrible with the front end stuff (javascript) but I figure maybe we can set something up with nodebb between the two of us…
Did anyone already think about not integrating any forum at all but instead linking to a subreddit on reddit.com?
I have to make a decision between using Disqus and using “something else”, and I wondered if simply linking to a self-moderated subreddit ("/r/<myblog>") would be a reasonable thing. The obvious advantage is that no plugin is necessary, but on the other hand: -
Would the typical tech blog reader be ok with commenting on Reddit?
@faddat Sorry for the delay in replying. I’ve been out of town for the past week.
The revival of this thread has spurned me into taking another look at nodeBB.
Installation, as I half-remembered/speculated is a walk in the park compared to Discourse. As regards integration with Hugo, the person who seems to be “the man to go to” as regards using nodeBB as a comments system is psychobunny, who has a plugin which works with WordPress and Ghost.
I’ve just installed nodeBB and cloned one of my Hugo blogs onto a VM, so I can take a look at this plugin of his and see if there’s any obvious [or not so obvious] way of getting it to play nice with something like Hugo.
Will report back with my findings as and when. Meantime, let me know if you get anywhere with it yourself. “Two heads are better than one”, as they say.
[Although the person who coined that aphorism might have had a less empty head than mine in mind, at the time]
Well, for me, the primary reason for using something like Hugo [and the primary reason I want to sever the reliance on Disqus [and external site search. But that’s a topic for another thread] is that I want my sites to be as self-contained and self-reliant as possible. So, while a subReddit might be an novel concept. For me, it’s just swapping reliance on one third party offering for reliance on another.
Actually, the very fact you have to wonder whether or not Reddit would allow it kind of reinforces that point, doesn’t it?
I did some tests with nodeBB and static HTML. I have installed the nodebb-plugin-blog-comments. This plugin was primarily created for Ghost resp. Wordpress but it is possible to use it from static HTML pages.
I tried it based on the description “For a PHP website” (https://www.npmjs.com/package/nodebb-plugin-blog-comments) and it works in principle (if you want to try it yourself one important hint: the name of the called JavaScript is general.php and not generalphp.js as it is written in the example).
As far as I can see it should be possible to generate the necessary configuration entries with Hugo.
You got forr’arder than me with it. I had a very brief look at the Ghost embed code and played about a bit with changing the Ghost template variables to their Hugo equivalents. But I got a bit stymied with what to do about “postID” which is used to associate a [Ghost] post with the corresponding nodeBB thread. I’m not sure if Hugo even generates post IDs and, if it does, whether it makes them publicly accessible.
Sounds like I should look at the PHP code instead as, from what you’ve found, it seems a more likely approach.
I first tried it with the Ghost code but using the PHP-based code was easier. This code snippet shows how It worked in my test environmen:
<a id="nodebb-comments"></a>
<script type="text/javascript">
var nodeBBURL = 'https://forum.example.com',
articleID = "id1"; // not sure whether is id can be generated by Hugo
var articleData = { title_plain: "Article Title,
url: "https://www.example.com/test.html", // permalink
markDownContent: "<p>Excerpt</p>" } // must be wrapped in HTML(?) tag. Otherwise it won't be used
(function() {
var nbb = document.createElement('script'); nbb.type = 'text/javascript'; nbb.async = true;
nbb.src = nodeBBURL + '/plugins/nodebb-plugin-blog-comments/lib/general.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(nbb);
})();
</script>
<noscript>Please enable JavaScript to view comments</noscript>
What would make Reddit different is that you don’t need to embed anything on the page. You just post a link saying sth like, “Discuss this on Reddit” and you’re done. No plugin that might slow down your page or fail to load.
Apart from that, I agree with you - both are 3rd party offerings that the site would have to rely on.
That could also be an alternative approach when using [for example] nodeBB. Rather than embedding the comment[s] in the post itself, it might be possible to have a “Discuss this on our Forum” link, which took you to the nodeBB. In fact, for the speed/efficiency reasons you cite, I think I might prefer that approach.
Of course to be in any way elegant, you would need the link to create the forum thread for you [preferablly with a reminder summary of the [Hugo] post as the first post in the thread] –and it would also be ideal if the forum threads could be created on demand, so that a thread was only created on the forum, if people wanted to comment. Otherwise your forum would end up with dozens of empty threads, which always looks a bit “bereft”.
WordPress’s BBPress software used to work in that way.
…Mind you, thinking about it a bit further, there’d have to be a bit of “re-inventing the wheel” done. For example, Hugo’s {{.summary}} would no longer be available on the published version of the site. So, if you were able to create forum posts on the fly, you’d also have to write some function to summarise the Hugo post and post that summary as a forum thread.
[ Mind you, that might be an opportunity to do it properly <cough!> <cough!>unaddressed issues<cough!> <cough!> ]