-
Notifications
You must be signed in to change notification settings - Fork 1
/
astro.config.ts
79 lines (76 loc) · 1.91 KB
/
astro.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
import mdx from "@astrojs/mdx";
import node from "@astrojs/node";
import react from "@astrojs/react";
import sitemap from "@astrojs/sitemap";
import keystatic from "@keystatic/astro";
import { defineConfig } from "astro/config";
import icon from "astro-icon";
import { loadEnv } from "vite";
// import { defaultLocale } from "./src/config/i18n.config";
// import { createConfig as createMdxConfig } from "./src/config/mdx.config";
import { ensureTrailingSlash } from "./src/lib/ensure-trailing-slash";
const env = loadEnv(import.meta.env.MODE, process.cwd(), "");
export default defineConfig({
/**
* When switching to static site generation, place an empty `index.astro` file in
* the `src/pages` folder, so `astro` will generate a redirect to the default locale
* via `<meta http-equiv="refresh" content="0;url=/en/">`.
*/
adapter: node({
mode: "standalone",
}),
base: env.PUBLIC_APP_BASE_PATH,
integrations: [
icon({
/** @see https://www.astroicon.dev/reference/configuration/#include */
include: {
lucide: ["chevron-down", "menu", "message-circle", "search", "x"],
},
svgoOptions: {
multipass: true,
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeViewBox: false,
},
},
},
],
},
}),
keystatic(),
mdx(),
react(),
sitemap(),
],
// // @ts-expect-error Astro types are incomplete.
// markdown: {
// ...(await createMdxConfig(defaultLocale)),
// gfm: false,
// smartypants: false,
// syntaxHighlight: false,
// },
output: "hybrid",
prefetch: {
defaultStrategy: "hover",
prefetchAll: true,
},
redirects: {
"/admin": {
destination: env.PUBLIC_APP_BASE_PATH
? ensureTrailingSlash(env.PUBLIC_APP_BASE_PATH) + "keystatic"
: "/keystatic",
status: 307,
},
},
scopedStyleStrategy: "where",
security: {
checkOrigin: true,
},
server: {
port: 3000,
},
site: env.PUBLIC_APP_BASE_URL,
});