-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathnuxt.config.ts
More file actions
executable file
·67 lines (62 loc) · 1.87 KB
/
nuxt.config.ts
File metadata and controls
executable file
·67 lines (62 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: '2025-05-15',
devtools: { enabled: true },
modules: ["@nuxtjs/tailwindcss", "@nuxtjs/color-mode", "@vueuse/nuxt", "@nuxt/icon", '@nuxt/eslint', 'reka-ui/nuxt', '@nuxtjs/sitemap'],
experimental: {
viewTransition: true,
},
css: ["~/assets/css/main.css"],
colorMode: {
classSuffix: '',
preference: 'system',
fallback: 'light'
},
runtimeConfig: {
githubToken: process.env.GITHUB_TOKEN || "",
public: {
// Public runtime config for client-side access on local environment only
githubToken: process.env.NODE_ENV === 'development' ? process.env.GITHUB_TOKEN : "",
}
},
app: {
head: {
htmlAttrs: {
lang: 'en',
}
}
},
hooks: {
'nitro:config': async (nitroConfig) => {
// Import plugins data to generate routes
const pluginsData = await import('./public/plugins.json').then(m => m.default)
// Generate routes for all plugin detail pages
const pluginRoutes = pluginsData.map((plugin: { id: string }) => `/plugins/${plugin.id}`)
if (!nitroConfig.prerender) {
nitroConfig.prerender = {}
}
nitroConfig.prerender.routes = [
'/',
...pluginRoutes
]
}
},
site: { url: 'https://vue-plugins.vercel.app' },
sitemap: {
urls: async () => {
const pluginsData = await import('./public/plugins.json').then(m => m.default)
// Generate routes for all plugin detail pages
const pluginRoutes = pluginsData.map((plugin: { id: string }) => `/plugins/${plugin.id}`)
return [
{
loc: '/',
lastmod: new Date().toISOString(),
},
...pluginRoutes.map(route => ({
loc: route,
lastmod: new Date().toISOString(),
}))
]
}
}
})