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

hdz

hello world

hdz

hello world

hdz

hello world