feat: replace sitemap module with custom Nitro route (fixes baseURL /fr/ conflict)

This commit is contained in:
2026-08-11 09:12:51 +00:00
parent 3ce010498f
commit dc8e987d61
2 changed files with 19 additions and 10 deletions
-10
View File
@@ -2,7 +2,6 @@ export default defineNuxtConfig({
// https://github.com/nuxt-themes/docus
css: ['~/assets/css/extra.css'],
extends: ['@nuxt-themes/docus'],
modules: ['@nuxtjs/sitemap'],
devtools: { enabled: false },
colorMode: {
preference: 'dark',
@@ -45,14 +44,5 @@ export default defineNuxtConfig({
}
},
site: {
url: 'https://docu.djeex.fr'
},
sitemap: {
autoLastmod: true,
urls: ['https://docu.djeex.fr/fr']
},
compatibilityDate: '2024-10-24'
})
+19
View File
@@ -0,0 +1,19 @@
import { serverQueryContent } from '#content/server'
// generates /fr/sitemap.xml without @nuxtjs/sitemap (incompatible with baseURL /fr/)
export default defineEventHandler(async (event) => {
const docs = await serverQueryContent(event).find()
const urls = docs
.filter((doc: any) => doc._path && !doc._path.startsWith('/_'))
.map((doc: any) => ` <url><loc>https://docu.djeex.fr/fr${doc._path}</loc></url>`)
.join('\n')
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${urls}
</urlset>`
setHeader(event, 'Content-Type', 'application/xml')
return sitemap
})