Files
wehub-resource-sync e30e75b5d4
Changesets / Create Version PR (push) Has been cancelled
Deploy Shadcn Registry / Deploy Production (push) Has been cancelled
Template Metrics / LOC + Bundle Size (push) Has been cancelled
Code Quality / Oxlint + Oxfmt (push) Has been cancelled
Code Quality / Template Sync (push) Has been cancelled
Code Quality / Build Changed Packages (push) Has been cancelled
Code Quality / Test Changed Packages (push) Has been cancelled
Deploy Expo Example / Deploy Production (push) Has been cancelled
Deploy Ink Example / Deploy Production (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.12) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.12) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:40:13 +08:00

86 lines
2.5 KiB
TypeScript

import type { MetadataRoute } from "next";
import { source, tapDocs, blog, examples, careers } from "@/lib/source";
import { DEMOS } from "@/lib/demos";
import { BASE_URL } from "@/lib/constants";
export default function sitemap(): MetadataRoute.Sitemap {
const staticPages: MetadataRoute.Sitemap = [
{ url: BASE_URL, changeFrequency: "weekly", priority: 1 },
{ url: `${BASE_URL}/blog`, changeFrequency: "weekly", priority: 0.8 },
{ url: `${BASE_URL}/careers`, changeFrequency: "weekly", priority: 0.7 },
{ url: `${BASE_URL}/pricing`, changeFrequency: "monthly", priority: 0.8 },
{ url: `${BASE_URL}/showcase`, changeFrequency: "weekly", priority: 0.7 },
{
url: `${BASE_URL}/playground`,
changeFrequency: "monthly",
priority: 0.6,
},
{ url: `${BASE_URL}/tap`, changeFrequency: "monthly", priority: 0.6 },
{
url: `${BASE_URL}/safe-content-frame`,
changeFrequency: "monthly",
priority: 0.4,
},
{
url: `${BASE_URL}/tw-shimmer`,
changeFrequency: "monthly",
priority: 0.4,
},
];
const docsPages: MetadataRoute.Sitemap = source.getPages().map((page) => ({
url: `${BASE_URL}${page.url}`,
lastModified: page.data.lastModified,
changeFrequency: "weekly",
priority: 0.9,
}));
const tapDocsPages: MetadataRoute.Sitemap = tapDocs
.getPages()
.map((page) => ({
url: `${BASE_URL}${page.url}`,
lastModified: page.data.lastModified,
changeFrequency: "weekly",
priority: 0.7,
}));
const blogPages: MetadataRoute.Sitemap = blog.getPages().map((page) => ({
url: `${BASE_URL}${page.url}`,
lastModified: page.data.lastModified,
changeFrequency: "monthly",
priority: 0.7,
}));
const examplePages: MetadataRoute.Sitemap = examples
.getPages()
.map((page) => ({
url: `${BASE_URL}${page.url}`,
lastModified: page.data.lastModified,
changeFrequency: "monthly",
priority: 0.6,
}));
const demoPages: MetadataRoute.Sitemap = DEMOS.map((demo) => ({
url: `${BASE_URL}/demos/${demo.slug}`,
changeFrequency: "monthly" as const,
priority: 0.6,
}));
const careerPages: MetadataRoute.Sitemap = careers.getPages().map((page) => ({
url: `${BASE_URL}${page.url}`,
lastModified: page.data.lastModified,
changeFrequency: "monthly",
priority: 0.5,
}));
return [
...staticPages,
...docsPages,
...tapDocsPages,
...blogPages,
...examplePages,
...demoPages,
...careerPages,
];
}