/
nuxt.config.js
101 lines (100 loc) · 2.41 KB
/
nuxt.config.js
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
import tailwindTypography from "@tailwindcss/typography";
export default defineNuxtConfig({
app: {
rootId: "app",
rootTag: "body",
head: {
htmlAttrs: {
lang: "en"
},
meta: [
{ "http-equiv": "X-UA-Compatible", content: "IE=edge" },
{ name: "author", content: "Dawit (@oneminch)" },
{ name: "robots", content: "index, follow" }
],
link: [
{
rel: "apple-touch-icon",
sizes: "180x180",
href: "/apple-touch-icon.png"
},
{
rel: "icon",
sizes: "32x32",
href: "/favicon-32x32.png"
},
{
rel: "icon",
sizes: "16x16",
href: "/favicon-16x16.png"
},
{
rel: "manifest",
href: "/site.webmanifest"
}
],
script: [
{
type: "text/partytown",
src: "https://measure.minch.dev/minch-measure",
async: true,
"data-website-id": "1e0e9daa-a25b-4943-af4e-68c91b2d3c72"
}
]
},
pageTransition: { name: "slide", mode: "out-in" },
layoutTransition: { name: "slide", mode: "out-in" }
},
components: [{ path: "~/components", pathPrefix: false }],
content: {
contentHead: false,
documentDriven: false,
highlight: {
theme: "github-dark",
preload: ["py"]
},
ignores: ["drafts", "template.md", "/drafts/", "\\.yml$"],
markdown: {
toc: { depth: 1, searchDepth: 2 }
}
},
modules: [
"@nuxt/content",
"@nuxtjs/partytown",
"@nuxtjs/turnstile",
"@nuxt/image",
"@nuxtjs/tailwindcss",
"@vueuse/nuxt",
"nuxt-icon"
],
routeRules: {
"/": { prerender: true },
"/**": { prerender: true },
"/bookmarks": { isr: 3600 }
},
runtimeConfig: {
raindropToken: process.env.RAINDROP_TOKEN,
raindropCollectionId: process.env.RAINDROP_COLLECTION_ID,
resendApiKey: process.env.RESEND_API_KEY,
resendFrom: process.env.RESEND_FROM,
resendTo: process.env.RESEND_TO,
turnstile: { secretKey: process.env.TURNSTILE_SECRET_KEY }
},
tailwindcss: {
config: {
mode: "jit",
darkMode: "class",
content: [
"./app.vue",
"./components/**/*.vue",
"./layouts/**/*.vue",
"./pages/**/*.vue"
],
plugins: [tailwindTypography]
}
},
telemetry: false,
turnstile: {
siteKey: "0x4AAAAAAABlDwSHN3HVmFWH"
}
});