diff options
Diffstat (limited to 'lib/generateRss.ts')
-rw-r--r-- | lib/generateRss.ts | 26 |
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); + } + }) +} |