Skip to content

Commit 30026d9

Browse files
authored
Merge pull request #7975 from QwikDev/fix-css-properties
fix(docs): redirects
2 parents 6902c40 + 31b994e commit 30026d9

File tree

2 files changed

+151
-41
lines changed

2 files changed

+151
-41
lines changed

packages/docs/public/_redirects

Lines changed: 53 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
# https://developers.cloudflare.com/pages/configuration/redirects/
2+
3+
# Keep in sync with `src/routes/[email protected]`
4+
5+
# Discord
6+
17
/chat https://discord.gg/TsNCMd6uGW 307
28
/chat/ https://discord.gg/TsNCMd6uGW 307
39

10+
# Cute redirects
11+
412
/examples /examples/introduction/hello-world/ 307
513
/examples/ /examples/introduction/hello-world/ 307
614
/guide /docs/ 307
@@ -10,63 +18,67 @@
1018
/tutorials /tutorial/welcome/overview/ 307
1119
/tutorials/ /tutorial/welcome/overview/ 307
1220

13-
/tutorial/hooks/use-client-effect/ /tutorial/hooks/use-browser-visible-task/ 307
21+
# Old URLs
1422

15-
/qwikcity/routing/pathless/ /docs/layout/grouped/ 308
23+
/tutorial/hooks/use-client-effect/ /tutorial/hooks/use-visible-task/ 308
1624

17-
/qwikcity/middleware/azure-swa/ /deployments/azure-swa/ 308
18-
/qwikcity/middleware/cloudflare-pages/ /deployments/cloudflare-pages/ 308
19-
/qwikcity/middleware/netlify-edge/ /deployments/netlify-edge/ 308
20-
/qwikcity/middleware/node/ /deployments/node/ 308
21-
/qwikcity/middleware/express/ /deployments/node/ 308
2225
/integrations/deployments/azure-swa/ /deployments/azure-swa/ 308
2326
/integrations/deployments/cloudflare-pages/ /deployments/cloudflare-pages/ 308
24-
/integrations/deployments/netlify-edge/ /deployments/netlify-edge/ 308
2527
/integrations/deployments/express/ /deployments/express/ 308
28+
/integrations/deployments/netlify-edge/ /deployments/netlify-edge/ 308
2629
/integrations/deployments/vercel-edge/ /deployments/vercel-edge/ 308
2730

28-
/qwikcity/directory-layout/ /docs/project-structure/ 308
29-
/qwikcity/static-assets/ /docs/advanced/static-assets/ 308
30-
/qwikcity/routing/overview/ /docs/routing/ 308
31-
/qwikcity/routing/route-parameters/ /docs/routing/ 308
32-
/qwikcity/routing/error-responses/ /docs/advanced/routing/ 308
33-
/qwikcity/loader/ /docs/route-loader/ 308
34-
/qwikcity/layout/overview/ /docs/layout/ 308
35-
/qwikcity/layout/nested/ /docs/advanced/routing/ 308
36-
/qwikcity/layout/grouped/ /docs/advanced/routing/ 308
37-
/qwikcity/layout/named/ /docs/advanced/routing/ 308
38-
/qwikcity/data/overview/ /docs/routing/ 308
39-
/qwikcity/data/retrieve/ /docs/routing/ 308
40-
/qwikcity/data/modify/ /docs/endpoints/ 308
41-
/qwikcity/data/endpoints/ /docs/endpoints/ 308
42-
/qwikcity/data/redirects/ /docs/guides/redirects/ 308
31+
/qwikcity/advanced/prefetching/ /docs/advanced/modules-prefetching/
4332
/qwikcity/content/component/ /docs/pages/ 308
33+
/qwikcity/content/head/ /docs/pages/ 308
4434
/qwikcity/content/mdx/ /docs/guides/mdx/ 308
4535
/qwikcity/content/menu/ /docs/advanced/menu/ 308
46-
/qwikcity/content/head/ /docs/pages/ 308
47-
/qwikcity/static-site-generation/overview/ /docs/guides/static-site-generation/ 308
48-
/qwikcity/static-site-generation/static-site-config/ /docs/guides/static-site-generation/ 308
49-
/qwikcity/static-site-generation/dynamic-routes/ /docs/guides/static-site-generation/ 308
50-
/qwikcity/advanced/prefetching/ /docs/advanced/modules-prefetching/
36+
/qwikcity/data/endpoints/ /docs/endpoints/ 308
37+
/qwikcity/data/modify/ /docs/endpoints/ 308
38+
/qwikcity/data/overview/ /docs/routing/ 308
39+
/qwikcity/data/redirects/ /docs/guides/redirects/ 308
40+
/qwikcity/data/retrieve/ /docs/routing/ 308
41+
/qwikcity/directory-layout/ /docs/project-structure/ 308
42+
/qwikcity/layout/grouped/ /docs/advanced/routing/ 308
43+
/qwikcity/layout/named/ /docs/advanced/routing/ 308
44+
/qwikcity/layout/nested/ /docs/advanced/routing/ 308
45+
/qwikcity/layout/overview/ /docs/layout/ 308
46+
/qwikcity/loader/ /docs/route-loader/ 308
47+
/qwikcity/middleware/azure-swa/ /deployments/azure-swa/ 308
48+
/qwikcity/middleware/cloudflare-pages/ /deployments/cloudflare-pages/ 308
49+
/qwikcity/middleware/express/ /deployments/node/ 308
50+
/qwikcity/middleware/netlify-edge/ /deployments/netlify-edge/ 308
51+
/qwikcity/middleware/node/ /deployments/node/ 308
5152
/qwikcity/prefetching/overview/ /docs/advanced/speculative-module-fetching/ 308
52-
/qwikcity/prefetching/service-worker-prefetching/ /docs/advanced/speculative-module-fetching/ 308
53-
/qwikcity/prefetching/request-response-cache/ /docs/advanced/speculative-module-fetching/ 308
5453
/qwikcity/prefetching/parallelizing-network-requests/ /docs/advanced/speculative-module-fetching/ 308
55-
/docs/overview /docs/ 308
56-
/docs/overview/ /docs/ 308
57-
/docs/cheat/qwik-react/ /docs/integrations/react/ 308
54+
/qwikcity/prefetching/request-response-cache/ /docs/advanced/speculative-module-fetching/ 308
55+
/qwikcity/prefetching/service-worker-prefetching/ /docs/advanced/speculative-module-fetching/ 308
56+
/qwikcity/routing/error-responses/ /docs/advanced/routing/ 308
57+
/qwikcity/routing/overview/ /docs/routing/ 308
58+
/qwikcity/routing/pathless/ /docs/layout/grouped/ 308
59+
/qwikcity/routing/route-parameters/ /docs/routing/ 308
60+
/qwikcity/static-assets/ /docs/advanced/static-assets/ 308
61+
/qwikcity/static-site-generation/dynamic-routes/ /docs/guides/static-site-generation/ 308
62+
/qwikcity/static-site-generation/overview/ /docs/guides/static-site-generation/ 308
63+
/qwikcity/static-site-generation/static-site-config/ /docs/guides/static-site-generation/ 308
64+
65+
/docs/advanced/i18n/ /docs/integrations/i18n/ 308
5866
/docs/cheat/best-practices/ /docs/guides/best-practices/ 308
67+
/docs/cheat/qwik-react/ /docs/integrations/react/ 308
5968
/docs/cheat/serialization/ /docs/guides/serialization/ 308
69+
/docs/components/inline-components/ /docs/core/overview/ 308
6070
/docs/components/lifecycle/ /docs/core/tasks/ 308
6171
/docs/components/projection/ /docs/core/slots/ 308
6272
/docs/components/resource/ /docs/core/state/ 308
6373
/docs/cookbook/re-exporting-loaders/ /docs/re-exporting-loaders/ 308
64-
65-
/qwikcity/* /docs/:splat 308
66-
/integrations/* /docs/integrations/:splat 308
67-
/deployments/* /docs/deployments/:splat 308
68-
/docs/advanced/i18n/ /docs/integrations/i18n/ 308
69-
/docs/components/inline-components/ /docs/core/overview/ 308
70-
/docs/think-qwik/ /docs/concepts/think-qwik/ 308
7174
/docs/env-variables/ /docs/guides/env-variables/ 308
72-
/docs/components/* /docs/core/:splat 308
75+
/docs/overview /docs/ 308
76+
/docs/overview/ /docs/ 308
77+
/docs/think-qwik/ /docs/concepts/think-qwik/ 308
78+
79+
# All wildcards (and only wildcards) must be below here
80+
81+
/deployments/_ /docs/deployments/:splat 308
82+
/docs/components/_ /docs/core/:splat 308
83+
/integrations/_ /docs/integrations/:splat 308
84+
/qwikcity/_ /docs/:splat 308
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import type { RequestEvent } from '@builder.io/qwik-city';
2+
3+
// Keep in sync with `public/_redirects`
4+
5+
export const onGet = ({ url, redirect }: RequestEvent) => {
6+
const { pathname } = url;
7+
const tempRedirect = tempRedirects[pathname];
8+
if (tempRedirect) {
9+
throw redirect(307, tempRedirect);
10+
}
11+
const redirectUrl = redirects[pathname];
12+
if (redirectUrl) {
13+
throw redirect(308, redirectUrl);
14+
}
15+
const rewritePrefix = (path: string, replacement: string) => {
16+
if (pathname.startsWith(path)) {
17+
throw redirect(308, pathname.replace(path, replacement));
18+
}
19+
};
20+
rewritePrefix('/docs/components/', '/docs/core/');
21+
rewritePrefix('/deployments/', '/docs/deployments/');
22+
rewritePrefix('/integrations/', '/docs/integrations/');
23+
rewritePrefix('/qwikcity/', '/docs/');
24+
};
25+
26+
const tempRedirects: Record<string, string> = {
27+
'/chat': ' https://discord.gg/TsNCMd6uGW',
28+
'/chat/': ' https://discord.gg/TsNCMd6uGW',
29+
30+
'/examples ': '/examples/introduction/hello-world/',
31+
'/examples/ ': '/examples/introduction/hello-world/',
32+
'/guide ': '/docs/',
33+
'/guide/ ': '/docs/',
34+
'/tutorial ': '/tutorial/welcome/overview/',
35+
'/tutorial/ ': '/tutorial/welcome/overview/',
36+
'/tutorials ': '/tutorial/welcome/overview/',
37+
'/tutorials/ ': '/tutorial/welcome/overview/',
38+
};
39+
40+
const redirects: Record<string, string> = {
41+
'/tutorial/hooks/use-client-effect/': '/tutorial/hooks/use-visible-task/',
42+
43+
'/integrations/deployments/azure-swa/': '/deployments/azure-swa/',
44+
'/integrations/deployments/cloudflare-pages/': '/deployments/cloudflare-pages/',
45+
'/integrations/deployments/express/': '/deployments/express/',
46+
'/integrations/deployments/netlify-edge/': '/deployments/netlify-edge/',
47+
'/integrations/deployments/vercel-edge/': '/deployments/vercel-edge/',
48+
49+
'/qwikcity/advanced/prefetching/': '/docs/advanced/modules-prefetching/',
50+
'/qwikcity/content/component/': '/docs/pages/',
51+
'/qwikcity/content/head/': '/docs/pages/',
52+
'/qwikcity/content/mdx/': '/docs/guides/mdx/',
53+
'/qwikcity/content/menu/': '/docs/advanced/menu/',
54+
'/qwikcity/data/endpoints/': '/docs/endpoints/',
55+
'/qwikcity/data/modify/': '/docs/endpoints/',
56+
'/qwikcity/data/overview/': '/docs/routing/',
57+
'/qwikcity/data/redirects/': '/docs/guides/redirects/',
58+
'/qwikcity/data/retrieve/': '/docs/routing/',
59+
'/qwikcity/directory-layout/': '/docs/project-structure/',
60+
'/qwikcity/layout/grouped/': '/docs/advanced/routing/',
61+
'/qwikcity/layout/named/': '/docs/advanced/routing/',
62+
'/qwikcity/layout/nested/': '/docs/advanced/routing/',
63+
'/qwikcity/layout/overview/': '/docs/layout/',
64+
'/qwikcity/loader/': '/docs/route-loader/',
65+
'/qwikcity/middleware/azure-swa/': '/deployments/azure-swa/',
66+
'/qwikcity/middleware/cloudflare-pages/': '/deployments/cloudflare-pages/',
67+
'/qwikcity/middleware/express/': '/deployments/node/',
68+
'/qwikcity/middleware/netlify-edge/': '/deployments/netlify-edge/',
69+
'/qwikcity/middleware/node/': '/deployments/node/',
70+
'/qwikcity/prefetching/overview/': '/docs/advanced/speculative-module-fetching/',
71+
'/qwikcity/prefetching/parallelizing-network-requests/':
72+
'/docs/advanced/speculative-module-fetching/',
73+
'/qwikcity/prefetching/request-response-cache/': '/docs/advanced/speculative-module-fetching/',
74+
'/qwikcity/prefetching/service-worker-prefetching/':
75+
'/docs/advanced/speculative-module-fetching/',
76+
'/qwikcity/routing/error-responses/': '/docs/advanced/routing/',
77+
'/qwikcity/routing/overview/': '/docs/routing/',
78+
'/qwikcity/routing/pathless/': '/docs/layout/grouped/',
79+
'/qwikcity/routing/route-parameters/': '/docs/routing/',
80+
'/qwikcity/static-assets/': '/docs/advanced/static-assets/',
81+
'/qwikcity/static-site-generation/dynamic-routes/': '/docs/guides/static-site-generation/',
82+
'/qwikcity/static-site-generation/overview/': '/docs/guides/static-site-generation/',
83+
'/qwikcity/static-site-generation/static-site-config/': '/docs/guides/static-site-generation/',
84+
85+
'/docs/advanced/i18n/': '/docs/integrations/i18n/',
86+
'/docs/cheat/best-practices/': '/docs/guides/best-practices/',
87+
'/docs/cheat/qwik-react/': '/docs/integrations/react/',
88+
'/docs/cheat/serialization/': '/docs/guides/serialization/',
89+
'/docs/components/inline-components/': '/docs/core/overview/',
90+
'/docs/components/lifecycle/': '/docs/core/tasks/',
91+
'/docs/components/projection/': '/docs/core/slots/',
92+
'/docs/components/resource/': '/docs/core/state/',
93+
'/docs/cookbook/re-exporting-loaders/': '/docs/re-exporting-loaders/',
94+
'/docs/env-variables/': '/docs/guides/env-variables/',
95+
'/docs/overview': '/docs/',
96+
'/docs/overview/': '/docs/',
97+
'/docs/think-qwik/': '/docs/concepts/think-qwik/',
98+
};

0 commit comments

Comments
 (0)