import { rehypeHeadingIds } from '@astrojs/markdown-remark' import mdx from '@astrojs/mdx' import react from '@astrojs/react' import sitemap from '@astrojs/sitemap' import tailwind from '@astrojs/tailwind' import { transformerCopyButton } from '@rehype-pretty/transformers' import { transformerMetaHighlight, transformerNotationDiff, } from '@shikijs/transformers' import { defineConfig } from 'astro/config' import rehypeKatex from 'rehype-katex' import rehypePrettyCode from 'rehype-pretty-code' import remarkEmoji from 'remark-emoji' import remarkMath from 'remark-math' import remarkToc from 'remark-toc' import sectionize from '@hbsnow/rehype-sectionize' import icon from 'astro-icon' // https://astro.build/config export default defineConfig({ site: 'https://astro-erudite.vercel.app', integrations: [ tailwind({ applyBaseStyles: false, }), sitemap(), mdx(), react(), icon(), ], markdown: { syntaxHighlight: false, rehypePlugins: [ rehypeHeadingIds, rehypeKatex, // @ts-expect-error sectionize, [ rehypePrettyCode, { theme: { light: 'github-light-high-contrast', dark: 'github-dark-high-contrast', }, transformers: [ transformerNotationDiff(), transformerMetaHighlight(), transformerCopyButton({ visibility: 'hover', feedbackDuration: 1000, }), ], }, ], ], remarkPlugins: [remarkToc, remarkMath, remarkEmoji], }, server: { port: 1234, host: true, }, devToolbar: { enabled: false, }, vite: { optimizeDeps: { exclude: ['@resvg/resvg-js'], }, }, })