A website containing sample Atom, RDF, and RSS feeds - sample-feeds.rowanmanning.com.
To add new feeds you'll need Node.js version 20+, and to clone this repo locally (it's best to first fork this repo and then clone your fork so you have push access). Run the following in this repo to install dependencies:
npm install
To add a new example feed (an academic example, not a real-world feed), then run the following, where <FEED_URL>
is the full HTTP or HTTPS URL to an Atom or RSS feed:
node ./scripts/new-example.js <FEED_URL>
To add a new real-world feed, then run the following, where <FEED_URL>
is the full HTTP or HTTPS URL to an Atom or RSS feed:
node ./scripts/new-real.js <FEED_URL>
You should find that a new pair of files have been created in either content/examples
or content/real-world
under a directory that's an MD5 hash of the feed URL. Perform the following manual steps to get the feed ready:
-
Update
index.md
to have a descriptive title. Also optionally add some Markdown below the second---
to add a sentence describing the feed. See existing feeds for examples of this. -
Update
index.md
to have a correctfeedType
property. You should be able to determine the type of feed (RSS
orAtom
) based on the createdfeed.xml
file. -
Update
feed.xml
to anonymise email addresses. RSS feeds often have email addresses as author data, these should be set towebmaster@example.com
or a similar fake email address. -
Update
feed.xml
to make sure thatself
links point to the new feed URL. Search forrel="self"
within the file and replace the URL found there withhttps://sample-feeds.rowanmanning.com/real-world/<YOUR_FEED_MD5_HASH>/feed.xml
. Sometimes this will be a<link>
element, and sometimes it'll be an<atom:link>
element.
Commit your changes on a new branch, push to your fork of this repo, and open a pull request.
-
Install Hugo
-
Clone this repo locally:
git clone https://github.com/rowanmanning/sample-feeds.git && cd sample-feeds
-
Run
hugo server
-
Visit http://localhost:1313/
The contributing guide is available here. All contributors must follow this library's code of conduct.
Licensed under the GPLv3 license.
Copyright © 2022, Rowan Manning.