mirror of
https://github.com/juherr/kill-the-news.git
synced 2026-06-20 22:03:48 +00:00
feat: WebSub Atom support, HTML processing via linkedom, W3C badges
WebSub / PubSubHubbub:
- Hub now accepts both /rss/:id and /atom/:id topic URLs
- WebSubSubscription stores format ("rss" | "atom")
- notifySubscribers sends RSS or Atom XML with correct Content-Type
- verifyAndStoreSubscription sends correct topic URL per format
- CI paths-ignore docs/** to skip deploy on docs-only changes
HTML processing (linkedom + escape-html):
- New html-processor.ts: body extraction, script/iframe/object removal,
event handler + javascript: URL stripping, mso-* style cleanup,
plain text → <pre> with HTML escaping via escape-html
- feed-generator.ts and entries.ts use processEmailContent
Admin UI:
- W3C validation badges (Atom + RSS) on feed detail page
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "4.20260522.1",
|
||||
"@types/escape-html": "^1.0.4",
|
||||
"@types/mailparser": "^3.4.6",
|
||||
"@types/rss": "^0.0.32",
|
||||
"@vitest/coverage-v8": "4.1.7",
|
||||
@@ -50,8 +51,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@hono/zod-validator": "^0.8.0",
|
||||
"escape-html": "^1.0.3",
|
||||
"feed": "5.2.1",
|
||||
"hono": "4.12.22",
|
||||
"linkedom": "^0.18.12",
|
||||
"postal-mime": "^2.7.4",
|
||||
"zod": "4.4.3"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user