在单页应用程序中获取使用Astro构建的博客中的最新文章



我有一个单页应用程序,我想在其中显示来自Astro博客的最新帖子。astro是否提供API来方便地从另一个应用程序访问这些信息?

我使用Astro Endpoints为我的博客创建自定义API。

src/页面/recent-posts.json.ts


import { MarkdownInstance } from "astro";
import { Frontmatter, sortDateDescending } from "src/misc";
export async function get() {
const allPosts = import.meta.glob<MarkdownInstance<Frontmatter>>("./posts/article/*.md", { eager: true }); // Vite
const posts = sortDateDescending(Object.values(allPosts))
.filter((ele) => ele.frontmatter.draft != true)
.map((ele) => {
return {
title: ele.frontmatter.title,
url: ele.url,
thumbnailUrl: ele.frontmatter.image,
content: ele.rawContent(),
publishedDate: ele.frontmatter.date,
tags: ele.frontmatter.tags,
};
});

const LIMIT = 2;
return {
body: JSON.stringify(posts.slice(0, LIMIT)),
};
}

现在,我可以从端点/recent-posts.json获取最近的帖子。

相关内容

  • 没有找到相关文章

最新更新