]> git.r.bdr.sh - rbdr/blog/blobdiff - lib/generators/rss.js
Allow sync up and down
[rbdr/blog] / lib / generators / rss.js
diff --git a/lib/generators/rss.js b/lib/generators/rss.js
deleted file mode 100644 (file)
index c47ba03..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-import Dot from 'dot';
-import { encodeXML } from 'entities';
-import { readFile, writeFile } from 'fs/promises';
-import { join } from 'path';
-import { debuglog } from 'util';
-
-const internals = {
-  debuglog: debuglog('blog'),
-
-  kFeedName: 'feed.xml',
-
-  extractTitle(postText) {
-
-    return postText.trim()
-      .split('\n')[0]
-      .replace('#', '')
-      .replace(/&/g, '&')
-      .trim();
-  }
-};
-
-/**
- * Generates an RSS feed XML file
- *
- * @name RSSGenerator
- * @param {string} source the source directory
- * @param {string} target the target directory
- * @param {Array.<Blog.tPost>} posts the list of posts
- */
-export default 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(),
-    title: internals.extractTitle(post.raw),
-    html: encodeXML(post.html)
-  }));
-  const feedXml = Dot.template(feedTemplate, {
-    ...Dot.templateSettings,
-    strip: false
-  })({ posts });
-  await writeFile(feedTarget, feedXml);
-}