/ svelte.config.js
svelte.config.js
 1  import 'dotenv/config';
 2  
 3  import adapter from '@sveltejs/adapter-node';
 4  import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
 5  import { mdsvex } from 'mdsvex';
 6  import rehypeAutolinkHeadings from 'rehype-autolink-headings';
 7  import rehypeSlug from 'rehype-slug';
 8  import rehypeLinks from 'rehype-external-links';
 9  import rehypeImageSize from 'rehype-img-size';
10  
11  /** @type {import('@sveltejs/kit').Config} */
12  const config = {
13    // Ensures both .svelte and .md files are treated as components (can be imported and used anywhere, or used as pages)
14    extensions: ['.svelte', '.md'],
15  
16    // Consult https://github.com/sveltejs/svelte-preprocess
17    // for more information about preprocessors
18    preprocess: [
19      vitePreprocess({
20        postcss: true,
21        script: true,
22      }),
23      mdsvex({
24        // The default mdsvex extension is .svx; this overrides that.
25        extensions: ['.md'],
26        layout: '/src/lib/components/blog/article-layout/article-layout.svelte',
27        rehypePlugins: [
28          rehypeSlug,
29          rehypeAutolinkHeadings,
30          [rehypeLinks, { target: '_blank' }],
31          [rehypeImageSize, { dir: 'static' }],
32        ],
33      }),
34    ],
35  
36    kit: {
37      adapter: adapter(),
38      prerender: {
39        origin: process.env.PUBLIC_BASE_URL,
40      },
41    },
42  };
43  
44  export default config;