Creating Hostable RSS Feeds from Scratch

in #techlast year

Video Version


Text Version

After a little trial and error I’ve found what I think is the best way to manually create an RSS file for self hosting a feed that can encompass any content you want to publish in it. I’m using it for my blog given I’ve built my site from scratch with plain HTML, but you can use RSS for pretty much anything.

Begin by creating a text file. You can name it anything you want, but I called mine feed.xml. Next, copy the code below into it. You can replace the title, link, and description with whatever fit’s your feed.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
    <title>Nate Bowie's Blog</title>
    <link>http://nathankmbowie.com/blog.html</link>
    <description>A quick homebrew feed for my blog. Does not include videos/articles I work on, just very occasional content.</description>
</channel>
</rss>

Once you’ve got it all set, your next step is to start adding content. Take the code below and copy it to your feed. Go to the end of the description, press enter to create a new line in the document, and paste the new set of code in. Replace the title with the title of the item you added into the feed, replace the time with the approximate time of the post, replace the link with the link you want to send the reader to, and replace the description with your own description.

        <item>
     <title>Placeholder1</title>
     <pubDate>Thur, 13 Oct 2022 19:00:00 -0700</pubDate>
     <link>https://nathankmbowie.com/blog.html#mozTocId86197</link>
     <description>This is just a quick placeholder. I havn't actually copied over any of my old posts or created any new ones yet.</description>
   
   
   
    </item>

Once you have pasted in the item code to add to the feed your code should look like this:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
    <title>Nate Bowie's Blog</title>
    <link>http://nathankmbowie.com/blog.html</link>
    <description>A quick homebrew feed for my blog. Does not include videos/articles I work on, just very occasional content.</description>
        <item>
     <title>Placeholder1</title>
     <pubDate>Thur, 13 Oct 2022 19:00:00 -0700</pubDate>
     <link>https://nathankmbowie.com/blog.html#mozTocId86197</link>
     <description>This is just a quick placeholder. I havn't actually copied over any of my old posts or created any new ones yet.</description>
   
   
   
    </item>
</channel>
</rss>

Now each time you want to add a new item you just paste the same item code as the just like the original time, always adding it on top the previous item code. For example, after adding a second entry it would look something like this:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
    <title>Nate Bowie's Blog</title>
    <link>http://nathankmbowie.com/blog.html</link>
    <description>A quick homebrew feed for my blog. Does not include videos/articles I work on, just very occasional content.</description>
        <item>
     <title>Placeholder2</title>
     <pubDate>Thur, 13 Oct 2022 19:00:00 -0700</pubDate>
     <link>https://nathankmbowie.com/blog.html#mozTocId86197</link>
     <description>This is just a quick placeholder. I havn't actually copied over any of my old posts or created any new ones yet.</description>
   
   
   
    </item>
        <item>
     <title>Placeholder1</title>
     <pubDate>Thur, 13 Oct 2022 19:00:00 -0700</pubDate>
     <link>https://nathankmbowie.com/blog.html#mozTocId86197</link>
     <description>This is just a quick placeholder. I havn't actually copied over any of my old posts or created any new ones yet.</description>
   
   
   
    </item>
</channel>
</rss>

With your feed all set you can now go on to do whatever with it. Just host it and direct readers/listeners/watchers to the feed URL (if you don’t have a host try hosting for free with GitHub) and they will automatically get updates whenever you update the file.

Sort: