mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-06-17 04:19:12 +08:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import type { RequestHandler } from './$types'
|
|
import { site } from '$lib/config/site'
|
|
import { genPosts } from '$lib/utils/posts'
|
|
|
|
const render = (): string =>
|
|
`<?xml version='1.0' encoding='utf-8'?>
|
|
<urlset
|
|
xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
|
|
xmlns:xhtml="https://www.w3.org/1999/xhtml"
|
|
xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0"
|
|
xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"
|
|
xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"
|
|
xmlns:video="https://www.google.com/schemas/sitemap-video/1.1">
|
|
<url>
|
|
<loc>${site.protocol + site.domain}</loc>
|
|
</url>
|
|
${genPosts()
|
|
.map(
|
|
post => `
|
|
<url>
|
|
<loc>${site.protocol + site.domain + post.path}</loc>
|
|
<lastmod>${new Date(post.updated ?? post.published ?? post.created).toISOString()}</lastmod>
|
|
<priority>0.5</priority>
|
|
</url>`
|
|
)
|
|
.join('')}
|
|
</urlset>`.trim()
|
|
|
|
export const prerender = true
|
|
export const trailingSlash = 'never'
|
|
export const GET: RequestHandler = async () =>
|
|
new Response(render(), {
|
|
headers: {
|
|
'content-type': 'application/xml; charset=utf-8'
|
|
}
|
|
})
|