A collection of Cloudflare Workers and Pages Functions for various utilities.
Converts HTML responses to markdown when AI agents request with Accept: text/markdown header.
What it does:
- Adds Link headers for AI agent discovery (sitemap, RSS, blog)
- Serves clean markdown when agents send
Accept: text/markdown - Includes Content-Signal and x-markdown-tokens headers
- Extracts main content, strips nav/footer/scripts
Requirements:
- Cloudflare Pages site
- No Pro+ required (uses Pages Functions middleware)
Usage:
- Copy
functions/markdown-for-agents/_middleware.jsto your Cloudflare Pages project underfunctions/ - Deploy - middleware auto-attaches to all routes
Mailgun contact form handler for Cloudflare Pages.
What it does:
- Validates required fields (name, email, message)
- Honeypot bot protection
- Email sanitization
- Sends to Mailgun API
- Returns JSON response
Requirements:
- Cloudflare Pages site
- Mailgun account with sending domain
- Environment variables configured in Cloudflare Pages
Setup:
-
Configure Mailgun:
- Create a Mailgun account at mailgun.com
- Add and verify your sending domain
- Generate an API key
-
Set Environment Variables in Cloudflare Pages:
- Go to your Pages project → Settings → Environment Variables
- Add:
MAILGUN_DOMAIN= your sending domain (e.g., mg.yourdomain.com)MAILGUN_API_KEY= your Mailgun API key
-
Add to your site:
- Copy
functions/api/contact.jsto your Cloudflare Pages project underfunctions/api/ - The endpoint will be available at
/api/contact
- Copy
-
Create your HTML form:
<form action="/api/contact" method="POST"> <input type="text" name="name" required> <input type="email" name="email" required> <textarea name="message" required></textarea> <!-- Honeypot field (hidden from users, bots will fill it) --> <input type="text" name="bot-field" style="display:none"> <button type="submit">Send</button> </form>
Files:
functions/markdown-for-agents/_middleware.js- The markdown-for-agents middlewarefunctions/api/contact.js- The contact form handler