-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathastro.config.mjs
67 lines (65 loc) · 1.76 KB
/
astro.config.mjs
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
import { defineConfig } from "astro/config";
import tailwind from "@astrojs/tailwind";
import sitemap from "@astrojs/sitemap";
import node from "@astrojs/node";
import preact from "@astrojs/preact";
import partytown from "@astrojs/partytown";
import clickDirective from "./directive/click-directive/register.js";
import rehypeToc from "rehype-toc";
import rehypeAutolinkHeadings from "rehype-autolink-headings";
import rehypeSlug from "rehype-slug";
import rehypeRaw from "rehype-raw";
import { rehypeImageZoom } from "./src/utils/rehype-image-zoom.ts";
// https://astro.build/config
export default defineConfig({
markdown: {
rehypePlugins: [
rehypeRaw,
rehypeImageZoom,
rehypeSlug,
[rehypeAutolinkHeadings, { behavior: "wrap" }],
[
rehypeToc,
{
headings: ["h1", "h2", "h3"],
cssClasses: {
toc: "toc-post",
list: "toc-list",
listItem: "toc-list-item",
link: "toc-link",
},
// customizeTOC: (toc) => {
// // Ensure the TOC has the nav element
// if (toc.tagName !== 'nav') {
// const nav = { type: 'element', tagName: 'nav', properties: { ...toc.properties }, children: [toc] }
// return nav
// }
// return toc
// },
},
],
],
},
i18n: {
defaultLocale: "en",
locales: ["en", "th"],
// fallback: { th: "en" },
// routing: {
// prefixDefaultLocale: false,
// redirectToDefaultLocale: false
// },
},
prefetch: false,
site: "https://voidbox.io",
integrations: [
tailwind(),
sitemap(),
preact(),
partytown(),
clickDirective(),
],
output: "static",
adapter: node({
mode: "standalone",
}),
});