zlacker

[return to "I’ve removed Disqus. It was making my blog worse"]
1. est+h4[view] [source] 2025-09-30 09:23:55
>>ry8806+(OP)
I ditched Disqus for the exact same reason, too many ads

Then I built an alternative using free Cloudflare Worker

https://github.com/est/req4cmt

It's a simple service that transform comment POST form data to JSON, append to a .jsonl file, then do a `git push`

It renders comments by `git fetch` from a .jsonl file from a remote repo, or simply via raw.githubusercontent.com if your repo was hosted by Github.

The advantange over Github issue/discussion based comment plugins:

1. All data is stored a .git

2. no login of any sort

Github OAuth login might leak all your repo data along with your `access_token` to the plugin provider.

The `git push` works for any remote. You can choose github/gitlab or whatever.

◧◩
2. antony+3c[view] [source] 2025-09-30 10:55:20
>>est+h4
I find the idea of using Git for comments somewhat terrifying, not least of all for the permanence of the history making moderation a nightmare.
◧◩◪
3. est+Fu[view] [source] 2025-09-30 13:28:41
>>antony+3c
They are just bunch of static hosted .jsonl text files, one comment per commit, and makes up exactly one line

In case of comments you don't like, just delete the line and `git commit`

to erase the history entirely, use `git cherry-pick` and `git push -f`

It might be a nightmare for people not familiar with `git`, but for folks running a static blog like Hugo, they use lots of shell commands anyway.

◧◩◪◨
4. antony+0C6[view] [source] 2025-10-02 12:18:33
>>est+Fu
Your implementation might be static json files, but it's not impossible to force other filetypes in there. This in itself makes it high risk?

Allowing force-push is considered an antipattern for Git, and generally best avoided. It's a safeguard against lost history and prevents data loss.

That aside, the comments are the history. Git is the wrong tool for the job. Why would you choose a generic version-control system designed for source code diffs & merges for the specialised task of chronologically-ordered comments? A database such as PostgreSQL is a far superior choice in just about every possible way. I admire your ingenuity here to make something out of what's available, but I respectfully disagree with this being a good way to capture user-generated content when there are better alternatives.

[go to top]