ziscus
Comments for static sites. No JavaScript. No accounts. Just an HTML form.
A Cloudflare Worker stores comments in D1, your SSG bakes them into HTML at build time. Moderation via curl. Source on GitHub.
Inspired by giscus, but different:
- No client JavaScript — pure HTML forms, no iframe
- Anonymous — no GitHub account required to comment
- Cloudflare D1 — SQLite at the edge, not GitHub Discussions
- Full moderation — approve / reject / spam / ban via API
- Free — runs on Cloudflare's free tier
How it works
HTML form ──POST /submit──> Worker ──> D1
│
validate, escape,
rate-limit, store
│
pending ──> admin approves ──> rebuild
Quick start
# 1. Deploy
cd worker && pnpm install
wrangler d1 create ziscus-comments
wrangler d1 execute ziscus-comments --remote --file=src/schema.sql
openssl rand -hex 32 | wrangler secret put ADMIN_SECRET
wrangler deploy
# 2. Embed
# Add a <form> that POSTs to your-worker.workers.dev/submit
# See README for full HTML snippet
# 3. Moderate
curl -H "Authorization: Bearer $SECRET" your-worker.workers.dev/admin/comments?status=pending
curl -X POST -H "Authorization: Bearer $SECRET" your-worker.workers.dev/approve/ID
Try it
This posts to a real ziscus worker.
3 Comments
hello world
hello world
hello world