Skip to content

Commit 1b4b22b

Browse files
committed
fix: restore sitemap prerender and add localhost fallback
The build failed with the previous approach. Restore prerendering for sitemap.xml and use localhost detection to fall back to the canonical nuxt.com hostname during build.
1 parent 822c950 commit 1b4b22b

4 files changed

Lines changed: 43 additions & 6 deletions

File tree

nuxt.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ export default defineNuxtConfig({
119119
// Pre-render
120120
'/': { prerender: true },
121121
'/blog/rss.xml': { prerender: true },
122+
'/sitemap.xml': { prerender: true },
122123
'/sitemap.md': { prerender: true },
123124
'/404.html': { prerender: true },
124125
'/docs/3.x/getting-started/introduction': { prerender: true },

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"drizzle-orm": "^0.45.1",
5454
"feed": "^5.2.0",
5555
"h3": "^1.15.6",
56+
"html2canvas-pro": "^2.0.2",
5657
"little-date": "^1.2.1",
5758
"motion-v": "^1.10.3",
5859
"nuxt": "^4.4.2",

pnpm-lock.yaml

Lines changed: 39 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/routes/sitemap.xml.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { queryCollection } from '#imports'
55

66
type queryCollectionWithEvent = <T extends keyof Collections>(event: H3Event, collection: T) => CollectionQueryBuilder<Collections[T]>
77

8-
export default defineCachedEventHandler(async (event: H3Event) => {
8+
export default defineEventHandler(async (event: H3Event) => {
99
// TODO: add docsv5 to sitemap when Nuxt 5 is released
1010
const [docs, blog] = await Promise.all([
1111
(queryCollection as queryCollectionWithEvent)(event, 'docsv4')
@@ -19,7 +19,7 @@ export default defineCachedEventHandler(async (event: H3Event) => {
1919
const now = new Date().toISOString()
2020

2121
const reqUrl = getRequestURL(event)
22-
const hostname = reqUrl.origin
22+
const hostname = reqUrl.origin.includes('localhost') ? 'https://nuxt.com' : reqUrl.origin
2323

2424
const sitemap = new SitemapStream({ hostname })
2525
for (const doc of docs) {
@@ -38,8 +38,4 @@ export default defineCachedEventHandler(async (event: H3Event) => {
3838
}
3939
sitemap.end()
4040
return streamToPromise(sitemap)
41-
}, {
42-
name: 'sitemap-xml',
43-
swr: true,
44-
maxAge: 60 * 60
4541
})

0 commit comments

Comments
 (0)