summary refs log tree commit diff
path: root/lib/generateRss.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generateRss.ts')
-rw-r--r--lib/generateRss.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/generateRss.ts b/lib/generateRss.ts
new file mode 100644
index 0000000..2f341c0
--- /dev/null
+++ b/lib/generateRss.ts
@@ -0,0 +1,26 @@
+import * as fs from "fs"
+import RSS from "rss";
+
+import { FeedOptions } from "./interfaces";
+import Post from "./Post";
+
+export function generateRss(posts: Array<Post>, feed_path: string, feedOptions: FeedOptions) {
+  const feed = new RSS(feedOptions);
+  const parsedPosts = posts.forEach((post) => {
+    const { title, content, path, date, author } = post.toApi();
+    feed.item({
+      title,
+      description: content,
+      url: feedOptions.site_url + path,
+      guid: path,
+      author,
+      date,
+    })
+  })
+  const xml = feed.xml();
+  fs.writeFile(feed_path, xml, (err) => {
+    if (err) {
+      console.log(err);
+    }
+  })
+}