astro.config.mjs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { defineConfig } from 'astro/config'
  2. import glsl from 'vite-plugin-glsl'
  3. import UnoCSS from 'unocss/astro'
  4. import {
  5. presetAttributify,
  6. presetIcons,
  7. presetTypography,
  8. presetUno,
  9. presetWebFonts,
  10. transformerDirectives,
  11. transformerVariantGroup,
  12. } from 'unocss'
  13. import presetDaisy from 'unocss-preset-daisy'
  14. // https://astro.build/config
  15. import vue from '@astrojs/vue'
  16. // https://astro.build/config
  17. import mdx from '@astrojs/mdx'
  18. import svgLoader from 'vite-svg-loader'
  19. // https://astro.build/config
  20. export default defineConfig({
  21. vite: {
  22. ssr: {
  23. noExternal: ['@kidonng/daisyui'],
  24. },
  25. plugins: [glsl(), svgLoader()],
  26. },
  27. integrations: [
  28. vue({
  29. appEntrypoint: '/src/pages/_app',
  30. }),
  31. UnoCSS({
  32. presets: [
  33. presetUno(),
  34. presetAttributify(),
  35. presetIcons({
  36. scale: 1.2,
  37. warn: true,
  38. extraProperties: {
  39. display: 'inline-block',
  40. 'vertical-align': 'middle',
  41. // ...
  42. },
  43. }),
  44. presetTypography({
  45. cssExtend: {
  46. blockquote: {
  47. padding: '1rem',
  48. 'border-left': `8px solid #888 !important`,
  49. background: '#e8e8e8',
  50. },
  51. },
  52. }),
  53. presetWebFonts({
  54. fonts: {
  55. sans: 'DM Sans',
  56. serif: 'DM Serif Display',
  57. mono: 'DM Mono',
  58. },
  59. }),
  60. presetDaisy(),
  61. ],
  62. transformers: [transformerDirectives(), transformerVariantGroup()],
  63. safelist: 'prose prose-sm m-auto text-left'.split(' '),
  64. }),
  65. mdx(),
  66. ],
  67. })