@@ -4,6 +4,74 @@ import starlight from '@astrojs/starlight';
44// https://astro.build/config
55export default defineConfig ( {
66 site : 'https://echo.labstack.com' ,
7+ // Preserve every live Docusaurus URL at cutover. The old site served docs under
8+ // /docs/... (flattened guide pages via slug overrides); Astro generates a static
9+ // meta-refresh page per entry (works on GitHub Pages — no _redirects needed).
10+ redirects : {
11+ '/docs' : '/guide/quickstart/' ,
12+ '/docs/binding' : '/guide/binding/' ,
13+ '/docs/category/cookbook' : '/cookbook/hello-world/' ,
14+ '/docs/category/guide' : '/guide/quickstart/' ,
15+ '/docs/category/middleware' : '/middleware/basic-auth/' ,
16+ '/docs/cookbook/auto-tls' : '/cookbook/auto-tls/' ,
17+ '/docs/cookbook/cors' : '/cookbook/cors/' ,
18+ '/docs/cookbook/crud' : '/cookbook/crud/' ,
19+ '/docs/cookbook/embed-resources' : '/cookbook/embed-resources/' ,
20+ '/docs/cookbook/file-download' : '/cookbook/file-download/' ,
21+ '/docs/cookbook/file-upload' : '/cookbook/file-upload/' ,
22+ '/docs/cookbook/graceful-shutdown' : '/cookbook/graceful-shutdown/' ,
23+ '/docs/cookbook/hello-world' : '/cookbook/hello-world/' ,
24+ '/docs/cookbook/http2' : '/cookbook/http2/' ,
25+ '/docs/cookbook/http2-server-push' : '/cookbook/http2-server-push/' ,
26+ '/docs/cookbook/jsonp' : '/cookbook/jsonp/' ,
27+ '/docs/cookbook/jwt' : '/cookbook/jwt/' ,
28+ '/docs/cookbook/load-balancing' : '/cookbook/load-balancing/' ,
29+ '/docs/cookbook/middleware' : '/cookbook/middleware/' ,
30+ '/docs/cookbook/reverse-proxy' : '/cookbook/reverse-proxy/' ,
31+ '/docs/cookbook/sse' : '/cookbook/sse/' ,
32+ '/docs/cookbook/streaming-response' : '/cookbook/streaming-response/' ,
33+ '/docs/cookbook/subdomain' : '/cookbook/subdomain/' ,
34+ '/docs/cookbook/timeout' : '/cookbook/timeout/' ,
35+ '/docs/cookbook/websocket' : '/cookbook/websocket/' ,
36+ '/docs/cookies' : '/guide/cookies/' ,
37+ '/docs/customization' : '/guide/customization/' ,
38+ '/docs/error-handling' : '/guide/error-handling/' ,
39+ '/docs/ip-address' : '/guide/ip-address/' ,
40+ '/docs/middleware/basic-auth' : '/middleware/basic-auth/' ,
41+ '/docs/middleware/body-dump' : '/middleware/body-dump/' ,
42+ '/docs/middleware/body-limit' : '/middleware/body-limit/' ,
43+ '/docs/middleware/casbin-auth' : '/middleware/casbin-auth/' ,
44+ '/docs/middleware/context-timeout' : '/middleware/context-timeout/' ,
45+ '/docs/middleware/cors' : '/middleware/cors/' ,
46+ '/docs/middleware/csrf' : '/middleware/csrf/' ,
47+ '/docs/middleware/decompress' : '/middleware/decompress/' ,
48+ '/docs/middleware/gzip' : '/middleware/gzip/' ,
49+ '/docs/middleware/jwt' : '/middleware/jwt/' ,
50+ '/docs/middleware/key-auth' : '/middleware/key-auth/' ,
51+ '/docs/middleware/logger' : '/middleware/logger/' ,
52+ '/docs/middleware/method-override' : '/middleware/method-override/' ,
53+ '/docs/middleware/open-telemetry' : '/middleware/open-telemetry/' ,
54+ '/docs/middleware/prometheus' : '/middleware/prometheus/' ,
55+ '/docs/middleware/proxy' : '/middleware/proxy/' ,
56+ '/docs/middleware/rate-limiter' : '/middleware/rate-limiter/' ,
57+ '/docs/middleware/recover' : '/middleware/recover/' ,
58+ '/docs/middleware/redirect' : '/middleware/redirect/' ,
59+ '/docs/middleware/request-id' : '/middleware/request-id/' ,
60+ '/docs/middleware/rewrite' : '/middleware/rewrite/' ,
61+ '/docs/middleware/secure' : '/middleware/secure/' ,
62+ '/docs/middleware/session' : '/middleware/session/' ,
63+ '/docs/middleware/static' : '/middleware/static/' ,
64+ '/docs/middleware/trailing-slash' : '/middleware/trailing-slash/' ,
65+ '/docs/quick-start' : '/guide/quickstart/' ,
66+ '/docs/request' : '/guide/request/' ,
67+ '/docs/response' : '/guide/response/' ,
68+ '/docs/routing' : '/guide/routing/' ,
69+ '/docs/start-server' : '/guide/customization/' ,
70+ '/docs/static-files' : '/guide/static-files/' ,
71+ '/docs/templates' : '/guide/templates/' ,
72+ '/docs/testing' : '/guide/testing/' ,
73+ '/search' : '/' ,
74+ } ,
775 integrations : [
876 starlight ( {
977 title : 'Echo' ,
0 commit comments