diff --git a/nuxt.config.ts b/nuxt.config.ts index d5fa1d6..24f47c5 100755 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -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' }) \ No newline at end of file diff --git a/server/routes/sitemap.xml.ts b/server/routes/sitemap.xml.ts new file mode 100644 index 0000000..ec3f72d --- /dev/null +++ b/server/routes/sitemap.xml.ts @@ -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) => ` https://docu.djeex.fr/fr${doc._path}`) + .join('\n') + + const sitemap = ` + +${urls} +` + + setHeader(event, 'Content-Type', 'application/xml') + return sitemap +})