Files
MyBlog-Next/src/pages/rss.xml.ts
T
2022-09-14 01:46:20 +06:30

25 lines
676 B
TypeScript

import rss from "@astrojs/rss";
import type { Frontmatter } from "@utils/types";
import type { MarkdownInstance } from "astro";
const postImportResult = import.meta.glob<MarkdownInstance<Frontmatter>>(
"../contents/*.md",
{
eager: true,
}
);
const posts = Object.values(postImportResult);
export const get = () =>
rss({
title: import.meta.env.PUBLIC_SITE_TITLE,
description: import.meta.env.PUBLIC_SITE_DESC,
site: import.meta.env.SITE,
items: posts.map(({ frontmatter }) => ({
link: frontmatter.slug,
title: frontmatter.title,
description: frontmatter.description,
pubDate: new Date(frontmatter.datetime),
})),
});