Open-source self-hosted comments systems for static websites
lisakov.com
lisakov.com
> All of the commenting, none of the comments.
> When a user submits a comment, echochamber.js will save the comment to the user's LocalStorage, so when they return to the page, they can be confident that their voice is being heard, and feel engaged with your very engaging content. It does not make any HTTP requests. Since LocalStorage is only local, you and your database need not be burdened with other people's opinions.
And while it's technically pointless because only you see the extra messages, it was amusing to pretend being part of the live audience.
It's too bad they now removed this feature.
This is one of many reasons first switched to wordpress before going static and using disqus. I switched to wordpress because I got tired of having to add features to my blog software (whatever the must have feature of the day was, RSS, Atom, Trackback, etc etc etc..) and because I got spammed and had only written the code for posting comments, not for managing. Wordpress's anti-spam Akismet, failed for me though. Too much spam came through adding to my workload. So I switched to disqus.
At the time, and maybe this is still true, disqus would put the comments in your wordpress database so if you ever decided to quit disqus you still had the comments.
Then eventually I got tired of the extra work of wordpress itself (having to update monthly) and went static + disqus.
I get the entire point is you probably don't like disqus because you're being tracked and/or want a different UX etc, and you should do whatever you want. There is enjoyment making your own systems. I wanted to blog to share things though and maintaining a comment system was time not writing posts.
You can do this for WordPress, but you will need to change comments endpoint, since spam software knows where to make a request.
Interesting. One would assume that most spammers use automated browsers with JavaScript enabled.
Just add an input with value which is submitted when user has no javascript. Change that value via javascript and check for existance server-side.
This has been working well ever since comment spammers became a thing 15 or something years ago. It has not failed me since.
webmention.io is a specific open-source service you can use with your sites to implement receiving them.
Write and publish articles in a space you control including locally, offline and static hosting.
Save articles to your personal datastore and edit (supports Solid / Linked Data Platform).
Annotate, reply to and share articles.Let your readers choose where to store their annotations.
Get notifications when someone interacts with your article.
Embed live data, scripts, stats and multimedia. Great for tutorials and experimental results.
Add identifiers and semantic markup to any concept to put your prose in the Linked Open Data cloud.
Anyone can tweak, clone and remix your articles. Spread your ideas, facilitate knowledge access and reuse.
Let your readers choose a view that suits them. Design your own or use preset themes.
Open source and under ongoing development...dogfooding, feedback and contributions welcome.
For a quick peak at what a dokie annotated page looks like: https://imgur.com/gallery/ffH01dh
I switch back and forth between Dokie and https://web.hypothes.is/about/ and hope these features become more widely used.
https://csarven.ca/linked-data-notifications#protocol
Example, with margin notes and comments at the bottom of the article:
https://csarven.ca/dokieli-rww
It's a W3C recommendation, and there are multiple implementations:
My personal experience is that comments are usually content-thin, and not worth reading. I publish my email address prominently, and people who want to tell me something do take the time to email me, and I enjoy the more personal conversation over email as well.
So it depends on your use case.
I think for communities like HN, the real content actually is the comments-- or rephrased, HN uniquely stands out amongst other news aggregators because of its community. You could say the community sentiment should be reflected through the content submitted, but I just don’t believe that’s true.
However, I don’t think everything on earth needs comments. I honestly never understood the point of blog posts having comments, but I’ve never run a successful blog that anyone looks at either so maybe I don’t get it.
But it seems they aren’t valuable _enough_ that someone would develop a browser extension to comment on any webpage —or, since such extensions have been tried a lot actually, that people would actually use them.
[0]: https://theonlinephotographer.typepad.com/the_online_photogr...
You are literally commenting on HN, so it must depend on the community more than commenting system.
Note that you write this in a comment.
There are blogs using Discqus that have excellent discussions...
I just use a GitHub issue for my post's comments, explained here: https://pknopf.com/post/2018-10-13-comments-for-static-sites...
I use GitHub's API to render the comments on my static site. Comments must be left on GitHub.
> Comparison table for open-source self-hosted commenting servers.
data.yaml [2] holds the list of OSS alternatives to Disqus. A daily Cron job launches a Python script that extracts GitHub data for each project. DataTables.js [3] is used to render the data in the browser. The web page itself uses Isso [4] for comments.
[1] https://github.com/pozitron57/open-source-comments
[2] https://github.com/pozitron57/open-source-comments/blob/mast...
http://sm.chg.pw/73/79/73791fc2.html
admin/admin are the captcha-credentials
Is there a reason for that / Is Fauna not production-ready?
What does plug-and-play mean to you? What's complicated with the ones you've tried?
Actually Talkyard is a bit inspired by Hacker News & Reddit — here're some improvements over HN & Reddit: https://www.talkyard.io/-32/how-hacker-news-can-be-improved-... (I'm developing Talkyard).
You have a link to your Fauna site? I never heard about Fauna before.
I consider something like Disqus plug-and-play. But I think that I would really want is something built in Node that I can import, add configs, and hook into my front-end. FaunaDB comes close, but I would still need to build the comments and moderation UI etc. It would be nice if someone fleshed out a more full commenting example on top of Fauna, but I haven't come across that yet, so I guess I'll eventually need to do that.
My site is just a super simple site that runs on top of Vercel w/ Svelte/Sapper
About using it for a commenting system: What comes to my mind, is that outgoing bandwidth is a little bit expensive: 0.1$ per GB. So, maybe Fauna is a good idea for one's own personal commenting system — and, not such a good idea for someone who builds a SaaS commenting system and wants to keep the costs down.
> something built in Node that I can import, add configs, and hook into my front-end
Maybe something like the below? But not for Gatsby, instead, for the framework you use? (What frameworks do you use / like, if I may ask?)
import TalkyardCommentsIframe from '@debiki/gatsby-plugin-talkyard';
// And where the comments shall appear:
<TalkyardCommentsIframe />
https://www.gatsbyjs.com/plugins/@debiki/gatsby-plugin-talky...> a more full commenting example on top of Fauna [...] I guess I'll eventually need to do that
Be warned, it's more work than what it seems to be :- ) at least more than what I thought it'd be
I'm going to build Mattermost and Slack integrations — primarily to send notifications to chat channels, when something happens at Talkyard.
Maybe there could be a notification to a Matrix channel, once a new blog post reply appears. And in the distant future, maybe it'd make sense to moderate comments, and reply, via /slash commands in a Matrix client?
* * *
If actually storing blog comments — maybe even the blog post itself?, in Matrix somehow, then, I'm thinking it'd be good if the Matrix protocol & storage format, worked with relpies & nested replies. So there could be HackerNews like tree-style discussions
I wonder if it supports that already maybe
B.t.w. if you find time to dig into that, and if you want to & remember, feel free to message me once you know how you'd do, to build something based on Matrix,
I'd be interested in ... in the very distant future ... two-way-sync between a Matrix "database" and a Talkyard database
I know that this does exist already, but what I would like too is to have the hacker news thread of comments shown on my website.
Does somebody know some way to do that ?
Besides akismet I don't see a lot of comment/profile spam detection services out there.
It had a free plan till last month or so. Now, pages with less 5000 views are free. For more viewed sites, some minimal price is charged.
So the model really is: offload whatever you can to the user. Or just don't have comments :)
If the website wasn't static, then I'd simply just use a server.
A small ambiguity: There's a difference between being light weight client side, in the browser — versus server side:
1) End users notice the client side in-the-browser performance & light-weighted-ness. Whilst 2) the one who notices app server light-ness is the static site owner, who can save some $ each month.
However the comparisons page doesn't clarify that it apparently has in mind application server light / heaviness (and not browser-side).
I would try something else today.
But yeah, not completely open source yet.
All this javascript and html fluff is not necessary.
<div class="fb-comments" data-href="http://yoursite.com/yourpage” data-width="100%" data-numposts="5" data-colorscheme="light" data-order-by="time"></div>