@indiekit/indiekit
Version:
The little server that connects your website to the independent web
24 lines (21 loc) • 610 B
JavaScript
export const jf2 = async (request, response) => {
const { application } = request.app.locals;
const feedUrl = new URL(request.originalUrl, application.url).href;
let posts = [];
const postsCollection = application?.collections?.get("posts");
if (postsCollection) {
posts = await postsCollection
.find({
"properties.post-status": {
$ne: "draft",
},
})
.toArray();
}
return response.type("application/jf2feed+json").json({
type: "feed",
name: application.name,
url: feedUrl,
children: posts.map((post) => post.properties),
});
};