Files
website/blog-static-build/.next/routes-manifest.json
2026-01-18 20:39:34 +08:00

154 lines
3.9 KiB
JSON

{
"version": 3,
"pages404": true,
"caseSensitive": false,
"basePath": "",
"redirects": [
{
"source": "/:path+/",
"destination": "/:path+",
"internal": true,
"statusCode": 308,
"regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
}
],
"headers": [
{
"source": "/(.*)",
"headers": [
{
"key": "Content-Security-Policy",
"value": " default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' giscus.app analytics.umami.is; style-src 'self' 'unsafe-inline'; img-src * blob: data:; media-src *.s3.amazonaws.com; connect-src *; font-src 'self'; frame-src giscus.app"
},
{
"key": "Referrer-Policy",
"value": "strict-origin-when-cross-origin"
},
{
"key": "X-Frame-Options",
"value": "DENY"
},
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-DNS-Prefetch-Control",
"value": "on"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains"
},
{
"key": "Permissions-Policy",
"value": "camera=(), microphone=(), geolocation=()"
}
],
"regex": "^(?:/(.*))(?:/)?$"
}
],
"dynamicRoutes": [
{
"page": "/blog/page/[page]",
"regex": "^/blog/page/([^/]+?)(?:/)?$",
"routeKeys": {
"nxtPpage": "nxtPpage"
},
"namedRegex": "^/blog/page/(?<nxtPpage>[^/]+?)(?:/)?$"
},
{
"page": "/blog/[...slug]",
"regex": "^/blog/(.+?)(?:/)?$",
"routeKeys": {
"nxtPslug": "nxtPslug"
},
"namedRegex": "^/blog/(?<nxtPslug>.+?)(?:/)?$"
},
{
"page": "/tags/[tag]",
"regex": "^/tags/([^/]+?)(?:/)?$",
"routeKeys": {
"nxtPtag": "nxtPtag"
},
"namedRegex": "^/tags/(?<nxtPtag>[^/]+?)(?:/)?$"
},
{
"page": "/tags/[tag]/page/[page]",
"regex": "^/tags/([^/]+?)/page/([^/]+?)(?:/)?$",
"routeKeys": {
"nxtPtag": "nxtPtag",
"nxtPpage": "nxtPpage"
},
"namedRegex": "^/tags/(?<nxtPtag>[^/]+?)/page/(?<nxtPpage>[^/]+?)(?:/)?$"
}
],
"staticRoutes": [
{
"page": "/",
"regex": "^/(?:/)?$",
"routeKeys": {},
"namedRegex": "^/(?:/)?$"
},
{
"page": "/_not-found",
"regex": "^/_not\\-found(?:/)?$",
"routeKeys": {},
"namedRegex": "^/_not\\-found(?:/)?$"
},
{
"page": "/about",
"regex": "^/about(?:/)?$",
"routeKeys": {},
"namedRegex": "^/about(?:/)?$"
},
{
"page": "/blog",
"regex": "^/blog(?:/)?$",
"routeKeys": {},
"namedRegex": "^/blog(?:/)?$"
},
{
"page": "/projects",
"regex": "^/projects(?:/)?$",
"routeKeys": {},
"namedRegex": "^/projects(?:/)?$"
},
{
"page": "/robots.txt",
"regex": "^/robots\\.txt(?:/)?$",
"routeKeys": {},
"namedRegex": "^/robots\\.txt(?:/)?$"
},
{
"page": "/sitemap.xml",
"regex": "^/sitemap\\.xml(?:/)?$",
"routeKeys": {},
"namedRegex": "^/sitemap\\.xml(?:/)?$"
},
{
"page": "/tags",
"regex": "^/tags(?:/)?$",
"routeKeys": {},
"namedRegex": "^/tags(?:/)?$"
}
],
"dataRoutes": [],
"rsc": {
"header": "RSC",
"varyHeader": "RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch",
"prefetchHeader": "Next-Router-Prefetch",
"didPostponeHeader": "x-nextjs-postponed",
"contentTypeHeader": "text/x-component",
"suffix": ".rsc",
"prefetchSuffix": ".prefetch.rsc",
"prefetchSegmentHeader": "Next-Router-Segment-Prefetch",
"prefetchSegmentSuffix": ".segment.rsc",
"prefetchSegmentDirSuffix": ".segments"
},
"rewriteHeaders": {
"pathHeader": "x-nextjs-rewritten-path",
"queryHeader": "x-nextjs-rewritten-query"
},
"rewrites": []
}