A Cloudflare Worker that generates dynamic SVG cards displaying your latest RSS feed articles, perfect for GitHub README profiles and personal websites.
🔗 API Endpoint: https://cf-rss-parser-readme.sankalpmukim.workers.dev/api/rss-card
- 🎨 4 Beautiful Themes - Default, Dark, Radical, and GitHub
- 📱 Responsive Design - Customizable width and height
- ⚡ Fast & Cached - 30-minute cache for optimal performance
- 🌐 CORS Enabled - Use anywhere on the web
- 📊 Customizable - Control article count, title, and styling
- 🔒 XML Feed Support - Currently supports RSS/Atom XML feeds
Add this to your GitHub README to display your latest articles:
-
Get your RSS feed URL (must be XML format)
- Common paths:
/rss.xml,/feed.xml,/atom.xml - Examples:
https://yoursite.com/rss.xml
- Common paths:
-
Encode your RSS URL
- Use an online URL encoder or JavaScript:
encodeURIComponent(yourRssUrl) - Example:
https://yoursite.com/rss.xml→https%3A%2F%2Fyoursite.com%2Frss.xml
- Use an online URL encoder or JavaScript:
-
Add to your README:
## 📝 Latest Articles 
| Theme | Preview |
|---|---|
default |
Light theme with blue accents |
dark |
Dark GitHub-style theme |
github |
Clean GitHub README style |
radical |
High-contrast colorful theme |
| Parameter | Description | Default | Example |
|---|---|---|---|
feed_url |
Required - Your RSS feed URL (URL encoded) | - | https%3A%2F%2Fexample.com%2Ffeed.xml |
theme |
Card theme | default |
dark, github, radical |
count |
Number of articles to display | 5 |
3, 10 |
title |
Card title | "Latest Articles" |
"My%20Blog%20Posts" |
width |
Card width in pixels | 400 |
500, 600 |
height |
Card height in pixels | 200 |
300 (auto-adjusts based on content) |
- Node.js
- Cloudflare account
- Wrangler CLI
# Clone the repository
git clone https://github.com/your-username/cf-rss-parser-readme.git
cd cf-rss-parser-readme
# Install dependencies
npm install
# Run locally
npm run dev
# Run tests
npm test
# Deploy to Cloudflare Workers
npm run deploycf-rss-parser-readme/
├── src/
│ └── index.js # Main Worker code
├── test/
│ └── index.spec.js # Tests
├── package.json # Dependencies
├── wrangler.jsonc # Cloudflare Workers config
└── README.md
GET /api/rss-card
- Content-Type:
image/svg+xml - Cache-Control:
public, max-age=1800(30 minutes) - CORS: Enabled for all origins
Returns error SVG cards for:
- Missing
feed_urlparameter - Invalid or unreachable RSS feeds
- Malformed XML content
- Format: XML-based feeds (RSS 2.0, Atom)
- Accessibility: Must be publicly accessible
- CORS: Not required (server-side fetching)
<title>- Article title<link>- Article URL<pubDate>/<published>- Publication date<description>/<summary>- Article description
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Having issues? Check out:
⭐ If this project helped you, please consider giving it a star!