svrjs-nextjs-website/app/sitemap.ts

74 lines
2.3 KiB
TypeScript
Raw Normal View History

2024-08-24 06:28:25 +02:00
import { getAllBlogPostSlugs } from "@/lib/getBlogPost";
import clientPromise from "@/lib/db";
2024-08-24 06:28:25 +02:00
2024-07-28 17:20:53 +02:00
export default async function sitemap() {
const blogPostSlugs = await getAllBlogPostSlugs();
2024-08-24 06:28:25 +02:00
const baseRoutes = [
"/",
"/blog",
"/changelog",
"/contact",
"/contribute",
"/downloads",
"/mods",
"/privacy",
"/tos",
"/vulnerabilities",
"/newsletter",
2024-09-13 16:17:37 +02:00
"/docs",
"/docs/mod-notes",
"/docs/requirements",
"/docs/mods/mod-files",
"/docs/mods/introduction",
"/docs/mods/mod-loading-order",
"/docs/mods/mod-development",
"/docs/mods/mod-development-legacy",
"/docs/server-side-javascript/svrjs-ssjs",
"/docs/server-side-javascript/migration",
"/docs/api/svrjs-api-legacy",
"/docs/api/svrjs-api",
"/docs/config/cgi-scgi-jsgi-php",
"/docs/config/cli-options",
"/docs/config/reverse-proxy-config",
"/docs/config/configuration",
"/docs/config/redirects",
"/docs/config/forward-proxy-notes",
"/docs/config/fastcgi-php-fpm",
"/docs/config/user-management",
"/docs/config/environment",
"/docs/config/virtual-hosts",
"/docs/config/http-auth",
"/docs/config/page-customization",
"/docs/config/client-secure",
"/docs/config/custom-error",
"/docs/getting-started/svrjs-commands",
"/docs/getting-started/updating-svrjs",
"/docs/getting-started/svrjs-utilities",
"/docs/getting-started/features",
"/docs/getting-started/svrjs-files",
"/docs/getting-started/installation"
].map((route) => ({
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}${route}`,
lastModified: new Date().toISOString().split("T")[0]
}));
2024-08-24 06:28:25 +02:00
const blogRoutes = blogPostSlugs.map((slug) => ({
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog/${slug.slug}`,
lastModified: new Date().toISOString().split("T")[0]
}));
2024-07-28 17:20:53 +02:00
let changelogRoutes: any[] = [];
try {
const client = await clientPromise;
const db = client.db(process.env.MONGODB_DB);
const slugs = await db.collection("pages").find().toArray();
changelogRoutes = slugs.map((slug) => ({
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/changelog/${slug.slug}`,
lastModified: new Date().toISOString().split("T")[0]
}));
} catch (err) {}
return [...baseRoutes, ...blogRoutes, ...changelogRoutes];
2024-07-28 17:20:53 +02:00
}