feat: add twtxt support

This commit is contained in:
grassblock 2025-05-13 21:07:33 +08:00
parent 30cdde0fc2
commit c57e214020

17
src/pages/twtxt.txt.js Normal file
View file

@ -0,0 +1,17 @@
import { getCollection } from 'astro:content';
export async function GET(context) {
const posts = await getCollection('posts');
// Sort posts by date (newest first)
posts.sort((a, b) => new Date(b.data.pubDate).getTime() - new Date(a.data.pubDate).getTime());
const twtxt = posts.map(post => (
`${new Date(post.data.pubDate).toISOString()}\t${post.data.title} ${context.site}post/${post.slug}`
)).join('\n');
return new Response(twtxt, {
headers: {
'Content-Type': 'text/plain'
}
});
}