summary refs log tree commit diff
path: root/lib/generateRss.ts
diff options
context:
space:
mode:
authorPatryk Niedźwiedziński <pniedzwiedzinski19@gmail.com>2020-08-07 21:59:19 +0200
committerGitHub <noreply@github.com>2020-08-07 21:59:19 +0200
commitb994a4475855f98c1bc89997c581e6685abf94dd (patch)
tree21b2a6b575039c6c8274929e9e191d8723c44e12 /lib/generateRss.ts
parentc941b9a7066f6fe5cfebf159feb7d00cd316f64d (diff)
parenta29d97d7f7c8c26896ea9e7e0b52bf6aa1ea71d0 (diff)
downloadkronikarz-b994a4475855f98c1bc89997c581e6685abf94dd.tar.gz
kronikarz-b994a4475855f98c1bc89997c581e6685abf94dd.zip
Merge pull request #17 from pniedzwiedzinski/rss-feed v2.1.0
Rss feed
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);
+    }
+  })
+}