forked from CaliCastle/cali.so
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6c506d0
commit f07c528
Showing
5 changed files
with
87 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
import { Feed } from 'feed' | ||
|
||
import { seo } from '~/lib/seo' | ||
import { getLatestBlogPosts } from '~/sanity/queries' | ||
|
||
export const revalidate = 60 * 60 * 12 // 12 hours | ||
|
||
export async function GET() { | ||
const feed = new Feed({ | ||
title: seo.title, | ||
description: seo.description, | ||
id: seo.url.href, | ||
link: seo.url.href, | ||
language: 'zh-CN', | ||
image: `${seo.url.href}/opengraph-image.png`, | ||
favicon: `${seo.url.href}/icon.png`, | ||
copyright: '版权所有 2023, Cali Castle', | ||
generator: 'PHP 9.0', | ||
author: { | ||
name: 'Cali Castle', | ||
email: '[email protected]', | ||
link: seo.url.href, | ||
}, | ||
}) | ||
|
||
const data = await getLatestBlogPosts(999) | ||
if (!data) { | ||
return new Response('Not found', { status: 404 }) | ||
} | ||
|
||
data.forEach((post) => { | ||
feed.addItem({ | ||
title: post.title, | ||
id: post._id, | ||
link: `${seo.url.href}/blog/${post.slug}`, | ||
description: post.description, | ||
date: new Date(post.publishedAt), | ||
image: post.mainImage.asset.url, | ||
}) | ||
}) | ||
|
||
return new Response(feed.rss2(), { | ||
headers: { | ||
'content-type': 'application/xml; charset=utf-8', | ||
}, | ||
}) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
export const seo = { | ||
title: 'Cali Castle | 开发者、设计师、细节控、创始人', | ||
description: | ||
'我叫 Cali,一名开发者,设计师,细节控,同时也是佐玩创始人,目前带领着佐玩致力于创造一个充满创造力的工作环境,同时鼓励团队创造影响世界的产品。', | ||
url: new URL( | ||
process.env.NODE_ENV === 'production' | ||
? 'https://cali.so' | ||
: 'http://localhost:3000' | ||
), | ||
} as const |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.