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

  1. Add an HTML form to your page that POSTs to your ziscus Worker
  2. The Worker validates, escapes, rate-limits, and stores the comment in D1
  3. The commenter sees their comment instantly via HTMLRewriter
  4. 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

hdz

hello world