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. 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
- Optional moderation — auto-approve, or review first with approve / reject / spam / ban
- Free — runs on Cloudflare's free tier
How it works
- Add an HTML form to your page that POSTs to your ziscus Worker
- The Worker validates, escapes, rate-limits, and stores the comment in D1
- The commenter sees their comment instantly via HTMLRewriter
- Your static site rebuilds to bake approved comments into HTML
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 (optional)
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
1 Comment
hello world