X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/db7b464d701c7d48777ddd38a10f69093cd5442c..172f4c8807d44ebe38c7f227b7fdc2d6a9dbe323:/lib/generators/rss.js diff --git a/lib/generators/rss.js b/lib/generators/rss.js deleted file mode 100644 index a1fcb08..0000000 --- a/lib/generators/rss.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -const { template } = require('dot'); -const { encodeXML } = require('entities'); -const { readFile, writeFile } = require('fs/promises'); -const { join } = require('path'); -const { debuglog } = require('util'); - -const internals = { - debuglog: debuglog('blog'), - - kFeedName: 'feed.xml' -}; - -/** - * Generates an RSS feed XML file - * - * @name RSSGenerator - * @param {string} source the source directory - * @param {string} target the target directory - * @param {Array.} posts the list of posts - */ -module.exports = async function RSSGenerator(source, target, posts) { - - internals.debuglog('Generating RSS'); - const feedTarget = join(target, internals.kFeedName); - const feedLocation = join(source, internals.kFeedName); - - internals.debuglog(`Reading ${feedLocation}`); - const feedTemplate = await readFile(feedLocation, { encoding: 'utf8' }); - - internals.debuglog('Writing RSS'); - posts = posts.map((post) => ({ - ...post, - createdOn: (new Date(post.createdOn)).toUTCString(), - html: encodeXML(post.html) - })); - const feedXml = template(feedTemplate)({ posts }); - await writeFile(feedTarget, feedXml); -}; - -