-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathnuxt.config.ts
More file actions
126 lines (114 loc) · 3.01 KB
/
nuxt.config.ts
File metadata and controls
126 lines (114 loc) · 3.01 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
ssr: true,
devtools: { enabled: true },
typescript: {
strict: true,
typeCheck: false, // Disable type checking to avoid vue-tsc issues
},
modules: [
'@nuxtjs/tailwindcss',
'nuxt-lenis',
'@hypernym/nuxt-gsap',
'nuxt-icon',
'@nuxt/content',
'@nuxt/image',
'@nuxtjs/color-mode',
'@nuxtjs/robots',
],
// Remove extends since nuxt-seo-kit is not installed
gsap: {
extraPlugins: {
scrollTrigger: true,
scrollTo: true,
observer: true,
},
},
colorMode: {
classSuffix: '',
preference: 'system',
fallback: 'dark',
},
image: {
provider: 'ipx',
quality: 80,
format: ['webp', 'avif', 'jpg'],
screens: {
xs: 320,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
xxl: 1536,
},
},
content: {
highlight: {
theme: {
default: 'github-dark',
dark: 'github-dark',
light: 'github-light',
},
},
markdown: {
toc: {
depth: 3,
searchDepth: 3,
},
},
},
runtimeConfig: {
MAILCHIMP_API_KEY: process.env.MAILCHIMP_API_KEY,
MAILCHIMP_SERVER_PREFIX: process.env.MAILCHIMP_SERVER_PREFIX,
MAILCHIMP_AUDIENCE_ID: process.env.MAILCHIMP_AUDIENCE_ID,
YOUTUBE_API_KEY: process.env.YOUTUBE_API_KEY,
YOUTUBE_CHANNEL_ID: process.env.YOUTUBE_CHANNEL_ID,
public: {
siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://kenny.engineer',
siteName: 'Ekene Eze',
siteDescription:
"Hey, I'm Kenny! A Developer Advocate, Software Engineer and Content Creator with over 8 years experience. Welcome to my corner of the internet!",
language: 'en-US',
socials: {
twitter: 'https://twitter.com/kenny_io',
github: 'https://github.com/kenny-io',
linkedin: 'https://www.linkedin.com/in/ekeneeze/',
youtube: 'https://www.youtube.com/c/EkeneEze',
},
},
},
app: {
head: {
htmlAttrs: {
lang: 'en',
},
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'format-detection', content: 'telephone=no' },
{ name: 'theme-color', content: '#111111' },
],
link: [
{ rel: 'icon', href: '/favicon.ico', sizes: 'any' },
{ rel: 'icon', href: '/icon.svg', type: 'image/svg+xml' },
{ rel: 'apple-touch-icon', href: '/apple-touch-icon.png' },
{ rel: 'manifest', href: '/manifest.webmanifest' },
],
},
pageTransition: { name: 'page', mode: 'out-in' },
layoutTransition: { name: 'layout', mode: 'out-in' },
},
css: ['@/assets/css/globals.css'],
nitro: {
prerender: {
crawlLinks: true,
routes: ['/', '/articles', '/speaking', '/uses', '/demos', '/courses'],
},
compressPublicAssets: true,
},
experimental: {
viewTransition: true,
componentIslands: true,
payloadExtraction: true,
},
compatibilityDate: '2025-05-24',
});