import { i18n } from '@/lib/i18n' import { source } from '@/lib/source' export const revalidate = false export async function GET() { const baseUrl = 'https://docs.sim.ai' const allPages = source.getPages() const getPriority = (url: string): string => { if (url === '/introduction' || url === '/') return '1.0' if (url === '/getting-started') return '0.9' if (url.match(/^\/[^/]+$/)) return '0.8' if (url.includes('/sdks/') || url.includes('/tools/')) return '0.7' return '0.6' } const urls = allPages .flatMap((page) => { const urlWithoutLang = page.url.replace(/^\/[a-z]{2}\//, '/') return i18n.languages.map((lang) => { const url = lang === i18n.defaultLanguage ? `${baseUrl}${urlWithoutLang}` : `${baseUrl}/${lang}${urlWithoutLang}` return ` ${url} ${new Date().toISOString().split('T')[0]} weekly ${getPriority(urlWithoutLang)} ${i18n.languages.length > 1 ? generateAlternateLinks(baseUrl, urlWithoutLang) : ''} ` }) }) .join('\n') const sitemap = ` ${urls} ` return new Response(sitemap, { headers: { 'Content-Type': 'application/xml', 'Cache-Control': 'public, max-age=3600, s-maxage=3600', }, }) } function generateAlternateLinks(baseUrl: string, urlWithoutLang: string): string { return i18n.languages .map((lang) => { const url = lang === i18n.defaultLanguage ? `${baseUrl}${urlWithoutLang}` : `${baseUrl}/${lang}${urlWithoutLang}` return ` ` }) .join('\n') }