Skip to content

Commit da6d349

Browse files
committed
eh?
1 parent 79351b2 commit da6d349

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

docs/site/app/sitemap.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import type { MetadataRoute } from "next";
2+
import { loadState, getAllPageUrls, SITEMAP_CONFIG } from "../lib/sitemap";
3+
4+
export const dynamic = "force-dynamic";
5+
export const revalidate = 3600; // Revalidate every hour
6+
7+
// eslint-disable-next-line import/no-default-export -- Required by Next.js sitemap convention
8+
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
9+
// Load state from Redis
10+
const state = await loadState();
11+
12+
// Get all page URLs
13+
const pageUrls = getAllPageUrls();
14+
15+
// Build sitemap entries
16+
const entries: MetadataRoute.Sitemap = pageUrls.map((url) => {
17+
const pageState = state?.pages[url];
18+
19+
return {
20+
url: `${SITEMAP_CONFIG.baseUrl}${url}`,
21+
lastModified: pageState?.lastmod
22+
? new Date(pageState.lastmod)
23+
: new Date()
24+
};
25+
});
26+
27+
return entries;
28+
}

0 commit comments

Comments
 (0)