diff --git a/svelte.config.js b/svelte.config.js index d64f9eb..0dc4ade 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,13 +1,32 @@ import adapter from '@sveltejs/adapter-auto'; import { vitePreprocess } from '@sveltejs/kit/vite'; +// Extensions: +import { mdsvex, escapeSvelte } from 'mdsvex'; +import shiki from 'shiki'; + +// Markdown config: +/** @type {import('mdsvex').MdsvexOptions} */ +const mdsvexOptions = { + extensions: ['.md'], + highlight: { + highlighter: async (code, lang = 'text') => { + const highlighter = await shiki.getHighlighter({ theme: 'vitesse-dark' }); + const html = escapeSvelte(highlighter.codeToHtml(code, { lang })); + return `{@html \`${html}\` }`; + } + } +}; + +// Svelte config: /** @type {import('@sveltejs/kit').Config} */ const config = { - preprocess: vitePreprocess(), + extensions: ['.svelte', '.md'], + preprocess: [vitePreprocess(), mdsvex(mdsvexOptions)], kit: { adapter: adapter(), alias: { - '@': './src/*', + '@': './src/*' } } };