An RSS feed is nothing more than an XML document following a known format. Adding one to a Jekyll site is relatively easy and straight forward. As with all changes to your site’s structure it’s best to use your version control system to create a branch in case something goes horribly wrong.
Start by creating a new file at the root of your website. It should be a peer to your index.html file. Since the previous version of my site called the feed atom.xml that’s what I called it for the Jekyll version. The XML file has some meta information about the feed and then a loop which creates entries.
You of course will need to change the site references to match your site, along with the author information.
Within the for loop that builds the individual entries this line is worth extra attention.
All content must be escaped for XML. Here the post.content passes through a Liquid filter that properly escapes angle brackets and quotes for XML. I’ve added a footer that appears only in my RSS feed. Since this does not pass through the xml_escape Liquid Filter like post.content does, I had to make sure that it was properly escaped. The rss_footer.html files is in my _includes directory.
It looks ugly but it works.
With the atom.xml file in place (and the rss_footer.html file too, if you are using one) simply regenerate your site and the feed will be created.