56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { defineConfig } from 'astro/config'
|
|
import mdx from '@astrojs/mdx'
|
|
import sitemap from '@astrojs/sitemap'
|
|
import playformInline from '@playform/inline'
|
|
import remarkMath from 'remark-math'
|
|
import remarkDirective from 'remark-directive'
|
|
import rehypeKatex from 'rehype-katex'
|
|
import remarkEmbeddedMedia from './src/plugins/remark-embedded-media.mjs'
|
|
import remarkReadingTime from './src/plugins/remark-reading-time.mjs'
|
|
import rehypeCleanup from './src/plugins/rehype-cleanup.mjs'
|
|
import rehypeImageProcessor from './src/plugins/rehype-image-processor.mjs'
|
|
import rehypeCopyCode from './src/plugins/rehype-copy-code.mjs'
|
|
import remarkTOC from './src/plugins/remark-toc.mjs'
|
|
import { themeConfig } from './src/config'
|
|
import { imageConfig } from './src/utils/image-config'
|
|
import path from 'path'
|
|
import nodeAdapter from '@astrojs/node'
|
|
|
|
export default defineConfig({
|
|
adapter: nodeAdapter({
|
|
mode: 'standalone'
|
|
}), // Set adapter for deployment
|
|
site: themeConfig.site.website,
|
|
image: {
|
|
service: {
|
|
entrypoint: 'astro/assets/services/sharp',
|
|
config: imageConfig
|
|
}
|
|
},
|
|
markdown: {
|
|
shikiConfig: {
|
|
theme: 'kanagawa-dragon',
|
|
wrap: false
|
|
},
|
|
remarkPlugins: [remarkMath, remarkDirective, remarkEmbeddedMedia, remarkReadingTime, remarkTOC],
|
|
rehypePlugins: [rehypeKatex, rehypeCleanup, rehypeImageProcessor, rehypeCopyCode]
|
|
},
|
|
integrations: [
|
|
playformInline({
|
|
Exclude: [(file) => file.toLowerCase().includes('katex')]
|
|
}),
|
|
mdx(),
|
|
sitemap()
|
|
],
|
|
vite: {
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve('./src')
|
|
}
|
|
}
|
|
},
|
|
devToolbar: {
|
|
enabled: false
|
|
}
|
|
})
|