forked from TheAlexLichter/lichter.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnuxt.config.ts
119 lines (106 loc) · 2.51 KB
/
nuxt.config.ts
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
import tailwindTypography from '@tailwindcss/typography'
import tailwindForms from '@tailwindcss/forms'
import { typographyStyles } from './typography.js'
export default defineNuxtConfig({
routeRules: {
'/support-me/': { redirect: { to: '/sponsors/', statusCode: 301 } },
'/timeline/': { redirect: { to: '/about/', statusCode: 301 } },
// TODO: After https://github.com/unjs/nitro/issues/1748 is resolved
// '/slides/**': { redirect: { to: 'https://slides.com/mannil/**', statusCode: 302 } },
// TODO: Remove this ^equivalent from _redirects afterwards
},
runtimeConfig: {
public: {
site: {
url: 'https://www.lichter.io',
}
}
},
modules: [
'@nuxtjs/tailwindcss',
'@vueuse/nuxt',
'nuxt-icon',
'@nuxt/content',
'@nuxtjs/seo',
'@nuxt/image',
'@nuxtjs/plausible',
],
nitro: {
prerender: {
routes: [
'/feed.xml',
],
},
devProxy: {
'/api/newsletter': { target: 'https://lichter-io-newsletter.netlify.app', changeOrigin: true }
}
},
site: {
url: 'https://www.lichter.io',
name: 'Alexander Lichter',
trailingSlash: true,
},
ogImage: {
compatibility: {
dev: { sharp: false },
},
},
plausible: {
domain: 'lichter.io',
apiHost: 'https://plausible.lichter.io',
},
content: {
documentDriven: true,
highlight: {
theme: 'vitesse-dark'
},
markdown: {
remarkPlugins: ['remark-reading-time'],
rehypePlugins: {
'rehype-external-links': false
}
},
},
tailwindcss: {
config: {
plugins: [tailwindTypography, tailwindForms],
theme: {
typography: typographyStyles,
extend: {
backgroundSize: {
'200%': '200%'
},
animation: {
'bg-shift': 'bg-shift 2s linear infinite',
'pulse-slow': 'pulse 3s linear infinite',
},
keyframes: {
'bg-shift': {
'0%, 100%': { backgroundPosition: '0% 50%' },
'50%': { backgroundPosition: '100% 50%' },
}
}
}
}
}
},
devtools: {
enabled: true
},
experimental: {
inlineRouteRules: true,
defaults: {
useAsyncData: {
deep: false,
}
},
headNext: true,
sharedPrerenderData: true,
// Re-enable when https://github.com/nuxt/nuxt/issues/25743 is resolved
appManifest: false,
},
future: {
typescriptBundlerResolution: true
},
watch: ['typography.ts']
})