A Svelte application that aggregates Subscriptions RSS feeds into a clean, responsive video grid interface.
subscriptions.yaml
The app reads from a subscriptions.yaml
file in the project root. Simply add the Subscriptions channel IDs you want to follow:
feeds:
- UC-lHJZR3Gqxm24_Vd_AJ5Yw
- UCX6OQ3DkcsbYNE6H8uQQuVA
- UCbRP3c757lWg9M-U7TyEkXA
From Subscriptions URL: When viewing a Subscriptions channel, the URL will contain the channel ID:
https://www.Subscriptions.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw
UC-lHJZR3Gqxm24_Vd_AJ5Yw
From Channel Page: Look at the channel's "About" page or inspect the page source
From RSS Feed: If you already have an RSS feed URL, extract the channel ID from:
https://www.Subscriptions.com/feeds/videos.xml?channel_id=UC-lHJZR3Gqxm24_Vd_AJ5Yw
UC-lHJZR3Gqxm24_Vd_AJ5Yw
The app automatically constructs the full RSS feed URLs from these channel IDs, making your configuration much cleaner and easier to manage!
# Start development server
pnpm run dev
# Build for production
pnpm run build
# Preview production build
pnpm run preview
subscriptions.yaml
and fetches all configured RSS feedsrss-parser
library for XML/RSS feed handlingjs-yaml
src/
├── lib/
│ ├── components/
│ │ ├── VideoCard.svelte # Individual video display component
│ │ └── LoadingSpinner.svelte # Loading indicator component
│ ├── feedService.ts # RSS feed fetching and parsing logic
│ └── types.ts # TypeScript type definitions
├── routes/
│ └── +page.svelte # Main application page
└── app.css # Global styles
subscriptions.yaml
app.css
VideoCard.svelte
componentfeedService.ts
for additional RSS feed formatssubscriptions.yaml
format and feed URLsMIT License - feel free to use and modify as needed.