From 406ff5d465ae531c3328c2b489647e0010098a80 Mon Sep 17 00:00:00 2001 From: jrtechs Date: Wed, 22 Jan 2020 17:59:36 -0500 Subject: [PATCH] wrote a quick impementing RSS feed blog post --- blogContent/headerImages/badDrawingRSS.png | Bin 0 -> 17456 bytes .../posts/web-development/node-rss-feed.md | 65 ++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 blogContent/headerImages/badDrawingRSS.png create mode 100644 blogContent/posts/web-development/node-rss-feed.md diff --git a/blogContent/headerImages/badDrawingRSS.png b/blogContent/headerImages/badDrawingRSS.png new file mode 100644 index 0000000000000000000000000000000000000000..90bc1fbfc800eadd8b626c54f1a85ef3b28fb65a GIT binary patch literal 17456 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 +{ + result.set('Content-Type', 'text/xml'); + result.send(xmlFeed); +}); +``` + +The next step was to find a nifty node package that handles the generation of RSS XML. +I'm using the [package](https://www.npmjs.com/package/rss) adequately named "RSS". + +```bash +npm install -s rss +``` + + +Based on the documentation for the package, I initialized the RSS generator object. + +``` +// defines basic details about your blog +var feed = new RSS({ + title: 'jrtechs', + description: 'Jeffery\'s blog which has everything from data-science to cooking', + feed_url: 'https://jrtechs.net/rss', + site_url: 'https://jrtechs.net', + image_url: 'https://jrtechs.net/includes/img/favicon/android-chrome-512x512.png', + docs: 'https://github.com/jrtechs/NodeJSBlog', + language: 'en', + categories: ['other', 'hardware', 'open-source', 'programming', 'projects', 'web-development', 'data-science'], +}); + +var xmlFeed = feed.xml(); +``` + +The final step was to add all the recent posts to the RSS feed. + +```javascript +const sql = require('../utils/sql'); +sql.getRecentPosts().then((posts)=> +{ + posts.forEach(post => + { + feed.item({ + title: post.name, + url: "https://jrtechs.net/" + post.category + "/" + post.url, + date: post.published + }); + }); + xmlFeed = feed.xml(); +}).catch((err)=> +{ + console.log(err); +}); +``` + +Although my implementation is probably very rudimentary, it is flexible and implementing it myself gave me a deeper appreciation for RSS. +Looking through the package documentation, I discovered a multitude of details that RSS feeds could contain that I didn't know about.