- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
Confab Comments is a drop-in commenting solution for small scale sites such as blogs.
I made a post about 5 months ago showcasing this project, and by far the most requested feature was anonymous commenting. I’m happy to say I recently completed implementing this, and you can try out a demo on the website.
Features
- Anonymous commenting + passwordless user authentication via email
- Full markdown support
- Comment edits (with edit history)
- Admin moderation features, including a manual moderation queue, basic auto moderation, mass deletion and banning
- Comment reply notifications and admin notifications via email
If you’d like to quickly spin up an instance yourself, Docker and bare metal instructions are provided in the quick start guide; you should additionally be able to find fairly comprehensive documentation here.
If you like what you see, feel free to leave me a star on GitHub :)
I’ll use this comment to address some questions I’m getting on the demo:
Why not a wysiwyg rich text editor? Markdown is for nerds like us. Comments are for all.
Simple reason is that a plaintext markdown editor was easier to implement. I decided plaintext was “good enough” for the kind of site Confab is intended for. If there is enough demand for this, I’d be happy to look into implementing a better editor in the future. Edit: The current editor has graphical icons for all the rich text features which automatically inserts markdown snippets, so even a user who doesn’t know markdown shouldn’t have too much trouble using it.
I have a js implemented a simple wysiwyg editor for markdown in react, I can add you on the repo and share a link if yoy want to copy it
You can share a link here if you would like. ConfabUI is written in Svelte though, so I’m not sure how nice it would be to integrate with React.
The repository is not public (yet), so I created a gist with the relevant code for the transformations I have implemented. This is pure JS (typescript to be exact), I am not familiar with svelte, but maybe it’s easier to plug them in. https://gist.github.com/souperk/6208d9401e4d5e47ab4b9d503b6e97c2
Yep, makes sense. Thanks for your efforts!
Looks pretty decent, some feedback:
- I tried clicking the “Join the conversation!” box to try and write a comment. Took me way to long to understand I had to click the button.
- Text editor is fine for me, but the bottom glow (background gradient) in it feels off.
I like that I can selfhost it. Almost all of these services collect and sell user data (like Disqus) and they are straight up blocked by ad/tracker blockers.
Thanks for taking the time to check it out, I will look into what I can do to improve those issues. It’s basically impossible to get usability insights like this when you’re the only person working on something, so this is much appreciated, thank you!
Yeah it’s very easy to get too comfortable with your project and lose track of the UX.
Good luck!
Do you address spam in any way?
Like promotional emails? Not at all.
I’ve added features that allow admins to prevent their instances being used for spam. These are explained in the abuse mitigation section of the docs.
Rate limits can be set for authentication emails to minimise spam. The only other type of emails sent to users are reply notifications (when someone else replies to their comments). This is enabled for each user by default (if admin has enabled this feature on a per-location basis and globally), and can be disabled by users on the main panel.