-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
53 lines (50 loc) · 1.29 KB
/
vite.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
import mdx from '@mdx-js/rollup';
import react from '@vitejs/plugin-react';
import rehypePrettyCode, { type Options } from 'rehype-pretty-code';
import remarkFrontmatter from 'remark-frontmatter';
import remarkGfm from 'remark-gfm';
import remarkMdxFrontmatter from 'remark-mdx-frontmatter';
import remarkUnwrapImages from 'remark-unwrap-images';
import { defineConfig } from 'vite';
import rehypeWrapSibling from './libs/rehype-wrap-sibling';
const prettyCodeOptions: Options = {
theme: 'nord',
defaultLang: {
block: 'plaintext',
},
keepBackground: false,
};
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
{
enforce: 'pre',
...mdx({
providerImportSource: '@mdx-js/react',
remarkPlugins: [
remarkFrontmatter,
[remarkMdxFrontmatter, { name: 'matter' }],
remarkGfm,
remarkUnwrapImages,
],
rehypePlugins: [
[rehypePrettyCode, prettyCodeOptions],
[rehypeWrapSibling, { selector: 'h4 + *', wrapper: 'div.print-breakpoint' }],
],
}),
},
react(),
],
resolve: {
alias: [
{ find: '@', replacement: '/src' },
{ find: '@contents', replacement: '/contents' },
],
},
server: {
port: 3000,
},
preview: {
port: 3000,
},
});