@@ -42,367 +42,13 @@ if (process.env.CI === "true") {
4242 } ;
4343}
4444
45- exports . createPages = async ( { actions, graphql, reporter } ) => {
46- // Create client-side redirects (these only work in prod deployment)
47- const { createRedirect } = actions ;
48- createRedirect ( {
49- fromPath : "/books" ,
50- toPath : "/learn/service-mesh-books" ,
51- redirectInBrowser : true ,
52- isPermanent : true ,
53- } ) ;
54- createRedirect ( {
55- fromPath : "/books/the-enterprise-path-to-service-mesh-architectures" ,
56- toPath :
57- "/learn/service-mesh-books/the-enterprise-path-to-service-mesh-architectures" ,
58- redirectInBrowser : true ,
59- isPermanent : true ,
60- } ) ;
61- createRedirect ( {
62- fromPath :
63- "/books/the-enterprise-path-to-service-mesh-architectures-2nd-edition" ,
64- toPath :
65- "/learn/service-mesh-books/the-enterprise-path-to-service-mesh-architectures-2nd-edition" ,
66- redirectInBrowser : true ,
67- isPermanent : true ,
68- } ) ;
69- createRedirect ( {
70- fromPath : "/books/istio-up-and-running" ,
71- toPath : "/learn/service-mesh-books/istio-up-and-running" ,
72- redirectInBrowser : true ,
73- isPermanent : true ,
74- } ) ;
75- createRedirect ( {
76- fromPath : "/learn/service-mesh-workshops" ,
77- toPath : "/learn/workshops" ,
78- redirectInBrowser : true ,
79- isPermanent : true ,
80- } ) ;
81- createRedirect ( {
82- fromPath : "/workshops" ,
83- toPath : "/learn/workshops" ,
84- redirectInBrowser : true ,
85- isPermanent : true ,
86- } ) ;
87- createRedirect ( {
88- fromPath : "/labs" ,
89- toPath : "/learn/service-mesh-labs" ,
90- redirectInBrowser : true ,
91- isPermanent : true ,
92- } ) ;
93- createRedirect ( {
94- fromPath : "/meshery" ,
95- toPath : "/cloud-native-management/meshery" ,
96- redirectInBrowser : true ,
97- isPermanent : true ,
98- } ) ;
99- createRedirect ( {
100- fromPath : "/service-mesh-management/meshery" ,
101- toPath : "/cloud-native-management/meshery" ,
102- redirectInBrowser : true ,
103- isPermanent : true ,
104- } ) ;
105- createRedirect ( {
106- fromPath : "/service-mesh-management/meshery/operating-service-meshes" ,
107- toPath : "/cloud-native-management/meshery/operating-cloud-native-infra" ,
108- redirectInBrowser : true ,
109- isPermanent : true ,
110- } ) ;
111- createRedirect ( {
112- fromPath : "/cloud-native-management/meshery/operating-service-meshes" ,
113- toPath : "/cloud-native-management/meshery/operating-cloud-native-infra" ,
114- redirectInBrowser : true ,
115- isPermanent : true ,
116- } ) ;
117- createRedirect ( {
118- fromPath : "/service-mesh-management/meshery/getting-started" ,
119- toPath : "/cloud-native-management/meshery/getting-started" ,
120- redirectInBrowser : true ,
121- isPermanent : true ,
122- } ) ;
123- createRedirect ( {
124- fromPath : "/landscape" ,
125- toPath : "/service-mesh-landscape" ,
126- redirectInBrowser : true ,
127- isPermanent : true ,
128- } ) ;
129- createRedirect ( {
130- fromPath : "/events" ,
131- toPath : "/community/events" ,
132- redirectInBrowser : true ,
133- isPermanent : true ,
134- } ) ;
135- createRedirect ( {
136- fromPath : "/programs" ,
137- toPath : "/careers/programs" ,
138- redirectInBrowser : true ,
139- isPermanent : true ,
140- } ) ;
141- createRedirect ( {
142- fromPath : "/about" ,
143- toPath : "/company/about" ,
144- redirectInBrowser : true ,
145- isPermanent : true ,
146- } ) ;
147- createRedirect ( {
148- fromPath : "/brand" ,
149- toPath : "/company/brand" ,
150- redirectInBrowser : true ,
151- isPermanent : true ,
152- } ) ;
153- createRedirect ( {
154- fromPath : "/contact" ,
155- toPath : "/company/contact" ,
156- redirectInBrowser : true ,
157- isPermanent : true ,
158- } ) ;
159- createRedirect ( {
160- fromPath : "/news" ,
161- toPath : "/company/news" ,
162- redirectInBrowser : true ,
163- isPermanent : true ,
164- } ) ;
165- createRedirect ( {
166- fromPath : "/service-meshes" ,
167- toPath : "/service-mesh-landscape" ,
168- redirectInBrowser : true ,
169- isPermanent : true ,
170- } ) ;
171- createRedirect ( {
172- fromPath : "/calendar" ,
173- toPath : "/community/calendar" ,
174- redirectInBrowser : true ,
175- isPermanent : true ,
176- } ) ;
177- createRedirect ( {
178- fromPath : "/smi" ,
179- toPath : "/projects/service-mesh-interface-conformance" ,
180- redirectInBrowser : true ,
181- isPermanent : true ,
182- } ) ;
183- createRedirect ( {
184- fromPath : "/projects/getnighthawk" ,
185- toPath : "/projects/nighthawk" ,
186- redirectInBrowser : true ,
187- isPermanent : true ,
188- } ) ;
189- createRedirect ( {
190- fromPath : "/projects/getnighthawk" ,
191- toPath : "/projects/nighthawk" ,
192- redirectInBrowser : true ,
193- isPermanent : true ,
194- } ) ;
195- createRedirect ( {
196- fromPath : "/projects/service-mesh-performance" ,
197- toPath : "/projects/cloud-native-performance" ,
198- redirectInBrowser : true ,
199- isPermanent : true ,
200- } ) ;
201- createRedirect ( {
202- fromPath : "/blog/category/service-mesh-performance" ,
203- toPath : "/blog/category/service-mesh" ,
204- redirectInBrowser : true ,
205- isPermanent : true ,
206- } ) ;
207- createRedirect ( {
208- fromPath : "/blog/category/service-mesh-performance/" ,
209- toPath : "/blog/category/service-mesh" ,
210- redirectInBrowser : true ,
211- isPermanent : true ,
212- } ) ;
213- createRedirect ( {
214- fromPath : "/blog/tag/smi" ,
215- toPath : "/blog/tag/service-mesh-interface" ,
216- redirectInBrowser : true ,
217- isPermanent : true ,
218- } ) ;
219- createRedirect ( {
220- fromPath : "/catalog" ,
221- toPath : "/cloud-native-management/catalog" ,
222- redirectInBrowser : true ,
223- isPermanent : true ,
224- } ) ;
225- createRedirect ( {
226- fromPath : "/cloud-native-management/meshery/integrations/argocd-operator" ,
227- toPath : "/cloud-native-management/meshery/integrations/argo-cd-operator" ,
228- redirectInBrowser : true ,
229- isPermanent : true ,
230- } ) ;
231- createRedirect ( {
232- fromPath : "/cloud-native-management/meshery/integrations/argocd-operator/" ,
233- toPath : "/cloud-native-management/meshery/integrations/argo-cd-operator" ,
234- redirectInBrowser : true ,
235- isPermanent : true ,
236- } ) ;
237- createRedirect ( {
238- fromPath : "/blog/category/landscape" ,
239- toPath : "/blog/tag/landscape" ,
240- redirectInBrowser : true ,
241- isPermanent : true ,
242- } ) ;
243- createRedirect ( {
244- fromPath : "/blog/category/landscape/" ,
245- toPath : "/blog/tag/landscape" ,
246- redirectInBrowser : true ,
247- isPermanent : true ,
248- } ) ;
249- createRedirect ( {
250- fromPath : "/blog/category/service-mesh-specifications" ,
251- toPath : "/blog/category/service-mesh" ,
252- redirectInBrowser : true ,
253- isPermanent : true ,
254- } ) ;
255- createRedirect ( {
256- fromPath : "/orchestration-management" ,
257- toPath : "/solutions/orchestration-management" ,
258- redirectInBrowser : true ,
259- isPermanent : true ,
260- } ) ;
261- createRedirect ( {
262- fromPath : "/cloud-native-management/gitops" ,
263- toPath : "/solutions/gitops" ,
264- redirectInBrowser : true ,
265- isPermanent : true ,
266- } ) ;
267- createRedirect ( {
268- fromPath : "/cloud-native-management/gitops/snapshot" ,
269- toPath : "/solutions/gitops/snapshot" ,
270- redirectInBrowser : true ,
271- isPermanent : true ,
272- } ) ;
273- createRedirect ( {
274- fromPath : "/cloud-native-management/gitops/performance-management" ,
275- toPath : "/solutions/gitops/performance-management" ,
276- redirectInBrowser : true ,
277- isPermanent : true ,
278- } ) ;
279- createRedirect ( {
280- fromPath : "/blog/announcements/meshery-5000-star-milestone" ,
281- toPath : "/blog/announcements/mesherys-5000-star-milestone" ,
282- redirectInBrowser : true ,
283- isPermanent : true ,
284- } ) ;
285-
286- //****
287- // External Resource Redirects
288- //****
289-
290- // New Community Member (Google Form)
291- createRedirect ( {
292- fromPath : "/newcomer" ,
293- toPath : "/newcomers" ,
294- redirectInBrowser : true ,
295- isPermanent : true ,
296- } ) ;
297- createRedirect ( {
298- fromPath : "/kanvas" ,
299- toPath : "/cloud-native-management/kanvas" ,
300- redirectInBrowser : true ,
301- isPermanent : true ,
302- } ) ;
303- createRedirect ( {
304- fromPath : "/cloud-native-management/meshmap" ,
305- toPath : "/cloud-native-management/kanvas" ,
306- redirectInBrowser : true ,
307- isPermanent : true ,
308- } ) ;
309- createRedirect ( {
310- fromPath : "/meshmap" ,
311- toPath : "/cloud-native-management/kanvas" ,
312- redirectInBrowser : true ,
313- isPermanent : true ,
314- } ) ;
315- createRedirect ( {
316- fromPath : "/go/meshmap" ,
317- toPath : "/cloud-native-management/kanvas" ,
318- redirectInBrowser : true ,
319- isPermanent : true ,
320- } ) ;
321- createRedirect ( {
322- fromPath : "/cloud-native-management/kanvas/visualize" ,
323- toPath : "/cloud-native-management/kanvas/operate" ,
324- redirectInBrowser : true ,
325- isPermanent : true ,
326- } ) ;
327- createRedirect ( {
328- fromPath : "/kanvas/visualize" ,
329- toPath : "/cloud-native-management/kanvas/operate" ,
330- redirectInBrowser : true ,
331- isPermanent : true ,
332- } ) ;
333- createRedirect ( {
334- fromPath : "/kanvas/operate" ,
335- toPath : "/cloud-native-management/kanvas/operate" ,
336- redirectInBrowser : true ,
337- isPermanent : true ,
338- } ) ;
339- createRedirect ( {
340- fromPath : "/resources/cloud-native/hpes-adoption-of-meshery-and-meshmap" ,
341- toPath : "/resources/case-study/hpes-adoption-of-meshery-and-meshmap" ,
342- redirectInBrowser : true ,
343- isPermanent : true ,
344- } ) ;
345- createRedirect ( {
346- fromPath : "/sitemap.xml" ,
347- toPath : "/sitemap-index.xml" ,
348- redirectInBrowser : true ,
349- isPermanent : true ,
350- } ) ;
351- createRedirect ( {
352- fromPath : "/products/nighthawk" ,
353- toPath : "/projects/nighthawk" ,
354- redirectInBrowser : true ,
355- isPermanent : true ,
356- } ) ;
35745
358- createRedirect ( {
359- fromPath : "/products/service-mesh-performance" ,
360- toPath : "/projects/cloud-native-performance" ,
361- redirectInBrowser : true ,
362- isPermanent : true ,
363- } ) ;
46+ const { loadRedirects } = require ( "./src/utils/redirects.js" ) ;
36447
365- createRedirect ( {
366- fromPath : "/products/service-mesh-performance-specification" ,
367- toPath : "/projects/cloud-native-performance" ,
368- redirectInBrowser : true ,
369- isPermanent : true ,
370- } ) ;
371-
372- createRedirect ( {
373- fromPath : "/cloud-native-management/meshmap/collaborate" ,
374- toPath : "/cloud-native-management/kanvas/collaborate" ,
375- redirectInBrowser : true ,
376- isPermanent : true ,
377- } ) ;
378-
379- createRedirect ( {
380- fromPath : "/blog/tag/meshery-open-source" ,
381- toPath : "/blog/tag/open-source" ,
382- redirectInBrowser : true ,
383- isPermanent : true ,
384- } ) ;
385-
386- createRedirect ( {
387- fromPath : "/blog/category/opensource" ,
388- toPath : "/blog/category/open-source" ,
389- redirectInBrowser : true ,
390- isPermanent : true ,
391- } ) ;
392-
393- createRedirect ( {
394- fromPath : "/cloud-native-management/meshmap/design" ,
395- toPath : "/cloud-native-management/kanvas/design" ,
396- redirectInBrowser : true ,
397- isPermanent : true ,
398- } ) ;
399-
400- createRedirect ( {
401- fromPath : "/cloud-native-management/meshmap/collaborate/peer-reviews" ,
402- toPath : "/cloud-native-management/kanvas/collaborate/peer-reviews" ,
403- redirectInBrowser : true ,
404- isPermanent : true ,
405- } ) ;
48+ exports . createPages = async ( { actions, graphql, reporter } ) => {
49+ const { createRedirect } = actions ;
50+ const redirects = loadRedirects ( ) ;
51+ redirects . forEach ( redirect => createRedirect ( redirect ) ) ; // Handles all hardcoded ones dynamically
40652 // Create Pages
40753 const { createPage } = actions ;
40854
0 commit comments