-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastro.config.ts
More file actions
95 lines (92 loc) · 2.22 KB
/
Copy pathastro.config.ts
File metadata and controls
95 lines (92 loc) · 2.22 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
import mdx from "@astrojs/mdx";
import node from "@astrojs/node";
import react from "@astrojs/react";
import sitemap from "@astrojs/sitemap";
// import solidJs from "@astrojs/solid-js";
import { defineConfig } from "astro/config";
import icon from "astro-icon";
import { loadEnv } from "vite";
// import { createConfig as createMdxConfig } from "./src/config/mdx.config";
const env = loadEnv(import.meta.env.MODE, process.cwd(), "");
export default defineConfig({
adapter: node({
mode: "standalone",
}),
base: env.PUBLIC_APP_BASE_PATH,
integrations: [
icon({
/** @see https://www.astroicon.dev/reference/configuration/#include */
include: {
lucide: [
"check",
"chevron-down",
"chevron-right",
"file-text",
// "linkedin",
"mail",
"menu",
"message-circle",
"search",
"square-arrow-left",
"triangle-alert",
// "twitter",
"x",
// "youtube",
],
simpleIcons: ["bluesky", "linkedin", "x", "youtube"],
},
}),
/** Only needed to make the astro jsx runtime work correctly. */
mdx(),
/**
* @see https://docs.astro.build/en/guides/integrations-guide/solid-js/#combining-multiple-jsx-frameworks
* @see https://github.com/Thinkmill/keystatic/discussions/951
*/
react({
include: ["**/content/**", "**/keystatic/**"],
}),
sitemap(),
// solidJs({
// exclude: ["**/content/**", "**/keystatic/**"],
// }),
],
/** Use `@/lib/keystatic/compile-mdx.ts` instead of astro's built-in markdown processor. */
// // @ts-expect-error Astro types are incomplete.
// markdown: {
// ...(await createMdxConfig()),
// gfm: false,
// smartypants: false,
// syntaxHighlight: false,
// },
prefetch: {
defaultStrategy: "hover",
prefetchAll: true,
},
redirects: {
"/admin": {
destination: env.PUBLIC_APP_BASE_PATH
? `${env.PUBLIC_APP_BASE_PATH.replace(/\/$/, "")}/keystatic`
: "/keystatic",
status: 307,
},
"/events": {
destination: "/events/tag/all",
status: 307,
},
},
scopedStyleStrategy: "where",
// security: {
// checkOrigin: true,
// },
server: {
/** Required by keystatic. */
host: "127.0.0.1",
port: 3000,
},
site: env.PUBLIC_APP_BASE_URL,
vite: {
ssr: {
noExternal: ["react-tweet"],
},
},
});