[build] publish = "dist" command = "pnpm run build" # Redirects for Astro static assets [[redirects]] from = "/_astro/*" to = "/_astro/:splat" status = 200 # Enable Brotli Compression [build.processing] skip_processing = false [build.processing.css] bundle = true minify = true [build.processing.js] bundle = true minify = true [build.processing.html] pretty_urls = true # Global headers [[headers]] for = "/*" [headers.values] X-Frame-Options = "SAMEORIGIN" X-Content-Type-Options = "nosniff" Referrer-Policy = "strict-origin-when-cross-origin" Permissions-Policy = "geolocation=(), microphone=(), camera=(), fullscreen=(self)" Content-Security-Policy = "default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https: blob:; font-src 'self' data: https:; frame-src https: player.bilibili.com; connect-src 'self' https:; object-src 'none'; worker-src 'self' blob:; child-src 'self' blob: player.bilibili.com;" # HTML pages [[headers]] for = "/*.html" [headers.values] Cache-Control = "public, max-age=86400, s-maxage=172800" Vary = "Accept-Encoding" # Blog posts [[headers]] for = "/*/" [headers.values] Cache-Control = "public, max-age=86400, s-maxage=172800" Vary = "Accept-Encoding" # Homepage [[headers]] for = "/" [headers.values] Cache-Control = "public, max-age=1800, s-maxage=3600" Vary = "Accept-Encoding" # Static assets [[headers]] for = "/fonts/*" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/_astro/*" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/assets/*" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/*.css" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/*.js" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" # Images [[headers]] for = "/*.jpg" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/*.png" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding" [[headers]] for = "/*.webp" [headers.values] Cache-Control = "public, max-age=31536000, immutable" Vary = "Accept-Encoding"