-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathnuxt.config.ts
More file actions
127 lines (125 loc) · 3.41 KB
/
Copy pathnuxt.config.ts
File metadata and controls
127 lines (125 loc) · 3.41 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
127
import { resolve } from "node:path";
import { createSourceBuildId } from "../src/build-id.ts";
/** Bundled from the checkout's sources: a deploy needs neither dist/ nor the root node_modules. */
const librarySource = resolve(import.meta.dirname, "../src");
export default defineNuxtConfig({
extends: ["docus"],
/** The repo root is its own pnpm workspace; Nuxt must not treat it as this site's. */
workspaceDir: import.meta.dirname,
alias: {
"@agntn/web": resolve(librarySource, "index.ts"),
},
devtools: { enabled: false },
telemetry: false,
site: {
url: "https://web.agntn.dev",
name: "@agntn/web",
},
llms: {
domain: "https://web.agntn.dev",
},
icon: {
clientBundle: {
icons: [
"lucide:arrow-right",
"lucide:arrow-up-right",
"lucide:book-open",
"lucide:book-text",
"lucide:bot",
"lucide:check",
"lucide:chevron-left",
"lucide:chevron-right",
"lucide:compass",
"lucide:copy",
"lucide:external-link",
"lucide:file-text",
"lucide:fish",
"lucide:flame",
"lucide:git-fork",
"lucide:globe",
"lucide:image",
"lucide:layers",
"lucide:library",
"lucide:link",
"lucide:loader-circle",
"lucide:plus",
"lucide:scan-search",
"lucide:search",
"lucide:shield-alert",
"lucide:sparkles",
"lucide:terminal",
"lucide:x",
"simple-icons:brave",
"simple-icons:github",
"simple-icons:mojeek",
"simple-icons:npm",
"simple-icons:searxng",
"vscode-icons:file-type-js",
"vscode-icons:file-type-typescript",
"vscode-icons:file-type-json",
"vscode-icons:file-type-shell",
],
},
},
colorMode: {
preference: "dark",
},
/** Docus ships an MCP endpoint that needs the Cloudflare Agents SDK on Workers. The docs do not need it. */
mcp: {
enabled: false,
},
nitro: {
preset: "cloudflare_module",
compatibilityDate: "2026-09-03",
prerender: {
crawlLinks: true,
routes: ["/", "/sitemap.xml", "/robots.txt", "/llms.txt", "/llms-full.txt"],
ignore: ["/api"],
},
cloudflare: {
deployConfig: true,
nodeCompat: true,
},
/** obuild defines this for dist/; the sources otherwise hash the package root at load time, which the bundle cannot reach. */
replace: {
__AGNTN_WEB_BUILD_ID__: JSON.stringify(createSourceBuildId(resolve(librarySource, ".."))),
},
},
compatibilityDate: "2026-09-03",
/** In production the response cache lives in KV, so it survives isolates. */
$production: {
nitro: {
storage: {
cache: {
driver: "cloudflare-kv-binding",
binding: "CACHE",
},
},
},
},
/** Fonts live in public/fonts and app/assets/fonts.css, which is the only place nuxt-og-image reads them from. */
css: ["~/assets/fonts.css"],
fonts: {
families: [
{ name: "Space Grotesk", provider: "local", weights: [400, 500, 600] },
{ name: "Space Mono", provider: "local", weights: [400, 700] },
],
},
content: {
database: {
type: "d1",
bindingName: "DB",
},
build: {
markdown: {
highlight: {
theme: {
default: "github-light",
light: "github-light",
dark: "poimandres",
},
},
},
},
},
});