Files
blog2025/netlify.toml
2025-07-18 16:43:10 +02:00

110 lines
2.5 KiB
TOML

[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"