A Svelte application that aggregates Subscriptions RSS feeds into a clean, responsive video grid interface.
subscriptions.yamlThe 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_AJ5YwUC-lHJZR3Gqxm24_Vd_AJ5YwFrom 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_AJ5YwUC-lHJZR3Gqxm24_Vd_AJ5YwThe 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-yamlsrc/
├── 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.yamlapp.cssVideoCard.svelte componentfeedService.ts for additional RSS feed formatssubscriptions.yaml format and feed URLsMIT License - feel free to use and modify as needed.