Creating a rss feed
Creating a RSS feed
Recently I added a RSS feed to my personal blogging site. RSS (RDF Site Summary) is a web feed technology, allowing programs to get updates from websites in a standardized fashion. Applications (called aggregators) can collect updates from different RSS sources, and display them in a custom newsfeed. RSS is mostly used for websites that update frequently such as blogs, podcasts and news sites.
Image: RSS Logo
What is RSS
When queried, a RSS feed displays channels containing generic items. This data is provided as a XML file, which then can be read by appropriate applications. Below code snippet is an example of a RSS feed with one channel, containing 2 items:
Channels
The RSS tag contains channels. Each channel contains multiple items, as well as a bit of general information. The following 3 tags are required for a channel, here filled in with a made-up developer news channel:
Items
Now if we want to do anything useful with RSS feed, we need to publish some items. An item is a child element of a channel and only needs a required title or description like so:
Many other elements can be added to channels and items to include more information. An entire list with useful examples can be found at The RSS Specification .
Generating in Svelte
Since this blog is created using Svelte, I generate the RSS feed on the fly making use of an Sveltekit API endpoint . The source code for this endpoint can be viewed here on Github .
I use the following headers to indicate that the request serves a XML file.
Conclusion
All in all, RSS is a great technology that is (in my opinion) really under-used. Aggregators availability and browser support for RSS has really shrunk over the past decade. In a time where the battle for an open internet is more relevant than ever (looking at you, Twitter) RSS seems like a great technological standard to allow automatic distribution of website updates.