forked from scroll-tech/scroll-documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
astro.config.ts
111 lines (105 loc) · 2.77 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
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
import { defineConfig } from "astro/config"
import preact from "@astrojs/preact"
import react from "@astrojs/react"
import svgr from "vite-plugin-svgr"
import astroI18next from "astro-i18next"
import { astroCallouts, asideAutoImport } from "./integrations/astro-callouts"
import { solidityRemixCode, codeSampleAutoImport } from "./integrations/solidity-remix"
import mdx from "@astrojs/mdx"
import rehypeSlug from "rehype-slug"
import rehypeAutolinkHeadings from "rehype-autolink-headings"
import rehypeKatex from "rehype-katex"
import rehypeMermaid from "rehype-mermaidjs"
import remarkGfm from "remark-gfm"
import remarkMath from "remark-math"
import AutoImport from "astro-auto-import"
import sitemap from "@astrojs/sitemap"
import tailwind from "@astrojs/tailwind"
import expressiveCode from "astro-expressive-code"
// https://astro.build/config
export default defineConfig({
site: "https://docs.scroll.io",
scopedStyleStrategy: "where",
legacy: {
astroFlavoredMarkdown: true,
},
integrations: [
AutoImport({
imports: [asideAutoImport, codeSampleAutoImport],
}),
preact({
compat: true,
}),
sitemap({
changefreq: "daily",
}),
astroCallouts(),
solidityRemixCode(),
expressiveCode({
themes: ["dark-plus"],
defaultProps: {
frame: "code",
},
styleOverrides: {
borderRadius: "27px",
borderColor: "transparent",
frames: {
shadowColor: "transparent",
editorTabBorderRadius: "0.5rem",
editorBackground: "#2b2b2b",
},
},
}),
mdx(),
tailwind({
applyBaseStyles: false,
nesting: true,
}),
astroI18next(),
],
vite: {
plugins: [svgr()],
},
markdown: {
drafts: true,
remarkPlugins: [remarkMath, remarkGfm],
rehypePlugins: [
rehypeSlug,
[rehypeMermaid, { strategy: "img-png" }],
[
rehypeAutolinkHeadings,
{
behavior: "wrap",
properties: {},
content: {
type: "element",
tagName: "span",
properties: { className: ["icon", "icon-link"] },
children: [],
},
},
],
[
rehypeKatex,
{
macros: {
"\\E": "\\mathbb{E}",
"\\C": "\\mathbb{C}",
"\\R": "\\mathbb{R}",
"\\N": "\\mathbb{N}",
"\\Q": "\\mathbb{Q}",
"\\bigO": "\\mathcal{O}",
"\\abs": "|#1|",
"\\set": "\\{ #1 \\}",
"\\indep": "{\\perp\\mkern-9.5mu\\perp}",
"\\nindep": "{\\not\\!\\perp\\!\\!\\!\\perp}",
"\\latex": "\\LaTeX",
"\\katex": "\\KaTeX",
},
},
],
],
syntaxHighlight: "prism",
extendDefaultPlugins: true,
},
})