// https://astro.build/config
export default defineConfig({
site: config.site.base_url ? config.site.base_url : '',
base: config.site.base_path ? config.site.base_path : '/',
trailingSlash: config.site.trailing_slash ? 'always' : 'never',
output: 'static', // Static site generation
adapter: netlify(),
experimental: {
preserveScriptOrder: true,
failOnPrerenderConflict: true,
},
// Use modern-compiler for SCSS to fix deprecation warning
vite: {
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
},
},
// Add CSS optimization
build: {
cssCodeSplit: false,
cssMinify: true,
}
},
},
integrations: [
react(),
sanity({
projectId: import.meta.env.VITE_SANITY_PROJECT_ID,
dataset: import.meta.env.VITE_SANITY_PROJECT_DATASET,
useCdn: false, // Real-time data for previews
apiVersion: '2023-01-01',
token: import.meta.env.VITE_SANITY_AUTH_TOKEN, //needs to be used for draft versions (in preview)
}),
tailwind({
applyBaseStyles: false,
}),
AutoImport({
imports: [
'@/shortcodes/Button',
'@/shortcodes/Accordion',
'@/shortcodes/Notice',
'@/shortcodes/Video',
'@/shortcodes/Youtube',
'@/shortcodes/Tabs',
'@/shortcodes/Tab',
],
}),
mdx(),
icon(),
],
markdown: {
remarkPlugins: [
remarkToc,
[
remarkCollapse,
{
test: 'Table of contents',
},
],
],
shikiConfig: {
theme: 'one-dark-pro',
wrap: true,
},
extendDefaultPlugins: true,
},
});