1import adapter from 'svelte-adapter-bun';
2import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
3
4import { mdsvex } from 'mdsvex';
5
6import * as toml from '@std/toml';
7import { resolve } from 'path';
8
9/** @type {import('@sveltejs/kit').Config} */
10const config = {
11 extensions: ['.svelte', '.md', '.svx'],
12
13 preprocess: [
14 vitePreprocess(),
15 mdsvex({
16 extensions: ['.md', '.svx'],
17 frontmatter: {
18 type: 'toml',
19 marker: '+',
20 parse(frontmatter, messages) {
21 try {
22 return toml.parse(frontmatter);
23 } catch (e) {
24 messages.push(
25 'Parsing error on line ' + e.line + ', column ' + e.column + ': ' + e.message
26 );
27 }
28 }
29 },
30 smartypants: {
31 dashes: 'oldschool',
32 quotes: true,
33 ellipses: true,
34 backticks: false
35 },
36 layout: {
37 about: resolve('src/routes/about/_layout.svelte'),
38 blogpost: resolve('src/routes/entries/_layout.svelte'),
39 simple: resolve('src/components/_window_layout.svelte')
40 }
41 })
42 ],
43
44 kit: {
45 csrf: {
46 checkOrigin: false
47 },
48 prerender: {
49 handleHttpError: 'warn'
50 },
51 adapter: adapter({
52 precompress: true
53 })
54 }
55};
56
57export default config;