From a67baa71f40139c9f13f468103596e2a383f241f Mon Sep 17 00:00:00 2001 From: Julien Herr Date: Sat, 23 May 2026 12:59:27 +0200 Subject: [PATCH] feat(landing): add FAQ section and trim demo URL Add a native details/summary accordion FAQ inspired by kill-the-newsletter, rewritten for self-hosted differentiators; drop /admin from the demo URL. Co-Authored-By: Claude Opus 4.7 --- docs/index.html | 82 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index b1c716a..97fe0e9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -171,6 +171,38 @@ .section-header { margin-bottom: 3rem; } + /* ── FAQ ── */ + .faq-list { display: flex; flex-direction: column; gap: 0.75rem; } + .faq-item { + border: 1px solid var(--border); + border-radius: var(--radius); + background: var(--surface); + transition: border-color 0.2s; + } + .faq-item[open] { border-color: rgba(246,130,31,0.4); } + .faq-item summary { + cursor: pointer; + list-style: none; + padding: 1.1rem 1.35rem; + font-weight: 600; + font-size: 0.95rem; + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + } + .faq-item summary::-webkit-details-marker { display: none; } + .faq-item summary::after { content: "+"; color: var(--accent); font-size: 1.2rem; line-height: 1; } + .faq-item[open] summary::after { content: "−"; } + .faq-item p { + margin: 0; + padding: 0 1.35rem 1.2rem; + color: var(--muted); + font-size: 0.9rem; + line-height: 1.65; + } + .faq-item a { color: var(--accent); } + /* ── Features ── */ .features-grid { display: grid; @@ -651,6 +683,7 @@ Features How it works Install + FAQ Sponsor @@ -711,7 +744,7 @@ Create a feed, grab the RSS URL, and add it to your reader — all without deploying anything.

- URL demo.kill-the.news/admin + URL demo.kill-the.news · Password password
@@ -1085,6 +1118,53 @@ bucket_name = "kill-the-news-attachments" + +
+
+ +

Questions & answers

+

The practical stuff — subscribing, privacy, troubleshooting, and how kill-the-news differs.

+
+
+
+ How does kill-the-news work? +

Create a feed in the admin UI and you get a unique address on your domain (e.g. newsletter.42@yourdomain.com) plus an RSS and an Atom feed. Any email sent to that address is turned into entries in those feeds.

+
+
+ How do I confirm a newsletter subscription? +

Confirmation emails arrive as feed entries — open the entry in your reader and click the confirmation link. If a publisher requires a reply, subscribe with your normal inbox instead and set up a filter that auto-forwards its mail to your feed address.

+
+
+ Are my feeds private? +

Yes. Each feed URL carries an unguessable ID, it is served from your own domain on your own Cloudflare account, and the admin UI is password-protected. Treat the feed URL like a password — anyone who has it can read your newsletters.

+
+
+ Why are old entries disappearing? +

Feeds honor an optional size and time-to-live cap so RSS readers stay happy — some readers choke on feeds that grow too large. When a limit is reached, the oldest entries (and their R2 attachments) are purged automatically.

+
+
+ Can I share a feed with someone? +

Don't. Anyone with the URL can read your newsletters and even unsubscribe you. Share the project instead, so others can self-host and create their own feeds.

+
+
+ Why isn't my feed updating? +

Send a test email to the feed address. If it shows up within a minute, the delay is on the newsletter publisher's side, not kill-the-news. Readers that support WebSub get near-instant push updates instead of waiting for the next poll.

+
+
+ How is this different from kill-the-newsletter.com? +

kill-the-news is self-hosted on your own Cloudflare account: your data, your domain, RSS and Atom output, attachments served as enclosures, WebSub push updates — all running on the free tier.

+
+
+ How much does it cost? +

It runs on Cloudflare's free tier (Workers + KV + R2) plus the cost of your domain. With Cloudflare Email Routing, no third-party service is required at all.

+
+
+ How do I delete a feed? +

From the password-protected admin UI — open the Feeds tab and delete it there. Its entries and attachments are removed along with it.

+
+
+
+