-
Notifications
You must be signed in to change notification settings - Fork 4
/
astro.config.mjs
77 lines (66 loc) · 1.84 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
68
69
70
71
72
73
74
75
76
77
// @ts-check
import { defineConfig } from "astro/config";
import { resolve } from "path";
import mdx from "@astrojs/mdx";
import sitemap from "@astrojs/sitemap";
import tailwind from "@astrojs/tailwind";
import svelte from "@astrojs/svelte";
import pagefind from "vite-plugin-pagefind";
import { BASE, SITE } from "./src/config.json";
import customEmbeds from 'astro-custom-embeds';
import { transformerMetaHighlight, transformerNotationHighlight } from '@shikijs/transformers'
import LinkCardEmbed from './src/embeds/link-card/embed'
import YoutubeEmbed from './src/embeds/youtube/embed'
// https://astro.build/config
export default defineConfig({
vite: {
resolve: {
alias: {
$components: resolve("./src/components"),
$layouts: resolve("./src/layouts"),
$pages: resolve("./src/pages"),
$assets: resolve("./src/assets"),
$content: resolve("./src/content"),
},
},
ssr: {
noExternal: [BASE + "/pagefind/pagefind.js"],
},
plugins: [pagefind()],
build: {
rollupOptions: {
external: [BASE + "/pagefind/pagefind.js"],
},
},
},
integrations: [customEmbeds({
embeds: [
YoutubeEmbed,
LinkCardEmbed,
]
}), mdx(), sitemap(), tailwind(), svelte()],
markdown: {
shikiConfig: {
// Choose from Shiki's built-in themes (or add your own)
// https://shiki.style/themes
// Alternatively, provide multiple themes
// See note below for using dual light/dark themes
themes: {
light: "github-light",
dark: "github-dark",
},
defaultColor: false,
transformers: [transformerMetaHighlight(), transformerNotationHighlight()],
wrap: true
},
},
prefetch: {
prefetchAll: true,
},
site: SITE,
base: BASE,
output: "static",
experimental: {
contentLayer: true,
},
});