@f5-sales-demo/docs-theme 4.11.4 → 4.11.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config.ts CHANGED
@@ -20,15 +20,7 @@ import starlightScrollToTop from 'starlight-scroll-to-top';
20
20
  import starlightVideosPlugin from 'starlight-videos';
21
21
  import f5xcDocsTheme from './index.ts';
22
22
  import { defaultLocale as f5xcDefaultLocale, f5xcDefaultLocales } from './src/i18n/locales.ts';
23
- import {
24
- categoryTitles,
25
- footerDescriptions,
26
- footerLabels,
27
- itemDescriptions,
28
- itemLabels,
29
- menuLabels,
30
- mobileLabels,
31
- } from './src/i18n/mega-menu-translations.ts';
23
+ import { mobileLabels } from './src/i18n/mega-menu-translations.ts';
32
24
  import { sidebarTranslations } from './src/i18n/translations.ts';
33
25
  import remarkMermaid from './src/plugins/remark-mermaid.mjs';
34
26
  import canonicalLlms from './src/utils/canonical-llms.mjs';
@@ -37,6 +29,7 @@ import { menuLocalizationPolicy } from './src/utils/menu-localization.ts';
37
29
  import { stagedProviderSections } from './src/utils/provider-sections.ts';
38
30
  import { publicationSidebar, repositoryPublicationProfile } from './src/utils/publication-profiles.ts';
39
31
  import { resolveMegaMenuIcon } from './src/utils/resolve-icon.ts';
32
+ import { federatedSearchSites } from './src/utils/search-sites';
40
33
  import providerSharedAssets from './src/utils/share-provider-assets.mjs';
41
34
  import { statisticsScriptMarkdown } from './src/utils/statistics-script-markdown.mjs';
42
35
  import { buildSubcategorySidebar } from './src/utils/subcategory-sidebar.ts';
@@ -133,130 +126,79 @@ export interface F5xcDocsConfigOptions {
133
126
  };
134
127
  }
135
128
 
136
- const developerAutomationTranslations = Object.fromEntries(
137
- Object.entries(categoryTitles.Automation).map(([locale, automation]) => [
138
- locale,
139
- `${categoryTitles['Developer Tools'][locale]} / ${automation}`,
140
- ]),
141
- );
142
-
143
- const xcshActionDescriptionTranslations = Object.fromEntries(
144
- Object.entries(categoryTitles.Automation).map(([locale, automation]) => [locale, `F5 XC — ${automation}`]),
145
- );
146
-
147
129
  export const defaultMegaMenuItems: MegaMenuItem[] = [
148
130
  {
149
- label: 'Security',
150
- translations: menuLabels.Security,
131
+ label: 'Demos',
151
132
  content: {
152
133
  layout: 'grid',
153
134
  columns: 2,
154
135
  categories: [
155
136
  {
156
- title: 'App & API Security',
157
- translations: categoryTitles['App & API Security'],
137
+ title: 'Security',
158
138
  items: [
159
139
  {
160
140
  label: 'Web App & API Protection',
161
- description: 'Web application and API protection demonstrations',
162
- href: 'https://f5-sales-demo.github.io/webapp-api-protection/',
141
+ description: 'Deploy an application security demo with Terraform and follow its protection walkthroughs.',
142
+ href: 'https://f5-sales-demo.github.io/webapp-api-protection/en/',
163
143
  icon: resolveMegaMenuIcon('f5xc:web-app-and-api-protection'),
164
144
  },
165
145
  {
166
- label: 'API Security',
167
- translations: itemLabels['API Security'],
168
- description: 'API discovery and protection',
169
- descriptionTranslations: itemDescriptions['API discovery and protection'],
170
- href: 'https://f5-sales-demo.github.io/api-protection/',
146
+ label: 'API Protection',
147
+ description: 'Find guides to API discovery, schema validation, and request controls.',
148
+ href: 'https://f5-sales-demo.github.io/api-protection/en/',
171
149
  icon: resolveMegaMenuIcon('f5xc:application-traffic-insight'),
172
150
  },
173
151
  {
174
- label: 'Client-Side Defense',
175
- translations: itemLabels['Client-Side Defense'],
176
- description: 'Browser-based threat protection',
177
- descriptionTranslations: itemDescriptions['Browser-based threat protection'],
178
- href: 'https://f5-sales-demo.github.io/csd/',
179
- icon: resolveMegaMenuIcon('f5xc:client-side-defense'),
152
+ label: 'Bot Defense Advanced',
153
+ description: 'Review behavioral bot detection and mitigation scenarios.',
154
+ href: 'https://f5-sales-demo.github.io/bot-advanced/en/',
155
+ icon: resolveMegaMenuIcon('f5xc:bot-defense'),
180
156
  },
181
157
  {
182
- label: 'Custom Responses',
183
- description: 'Terraform response customization showcase',
184
- href: 'https://f5-sales-demo.github.io/custom-responses/',
185
- icon: resolveMegaMenuIcon('f5xc:web-app-and-api-protection'),
158
+ label: 'Bot Defense Standard',
159
+ description: 'Review bot classification, verified crawlers, and blocking policies.',
160
+ href: 'https://f5-sales-demo.github.io/bot-standard/en/',
161
+ icon: resolveMegaMenuIcon('f5xc:bot-defense'),
186
162
  },
187
163
  {
188
- label: 'Web App Scanning',
189
- translations: itemLabels['Web App Scanning'],
190
- description: 'Vulnerability assessment and scanning',
191
- descriptionTranslations: itemDescriptions['Vulnerability assessment and scanning'],
192
- href: 'https://f5-sales-demo.github.io/was/',
193
- icon: resolveMegaMenuIcon('f5xc:web-app-scanning'),
164
+ label: 'Client-Side Defense',
165
+ description: 'Deploy browser script monitoring with an API or Terraform workflow.',
166
+ href: 'https://f5-sales-demo.github.io/csd/en/',
167
+ icon: resolveMegaMenuIcon('f5xc:client-side-defense'),
194
168
  },
195
- ],
196
- },
197
- {
198
- title: 'Threat Defense',
199
- translations: categoryTitles['Threat Defense'],
200
- items: [
201
169
  {
202
- label: 'Bot Defense Advanced',
203
- translations: itemLabels['Bot Defense Advanced'],
204
- description: 'Behavioral analysis and AI detection',
205
- descriptionTranslations: itemDescriptions['Behavioral analysis and AI detection'],
206
- href: 'https://f5-sales-demo.github.io/bot-advanced/',
207
- icon: resolveMegaMenuIcon('f5xc:bot-defense'),
170
+ label: 'DDoS Mitigation',
171
+ description: 'Review distributed denial-of-service defenses and demo scenarios.',
172
+ href: 'https://f5-sales-demo.github.io/ddos/en/',
173
+ icon: resolveMegaMenuIcon('f5xc:ddos-and-transit-services'),
208
174
  },
209
175
  {
210
- label: 'Bot Defense Standard',
211
- translations: itemLabels['Bot Defense Standard'],
212
- description: 'Signature-based bot detection',
213
- descriptionTranslations: itemDescriptions['Signature-based bot detection'],
214
- href: 'https://f5-sales-demo.github.io/bot-standard/',
215
- icon: resolveMegaMenuIcon('f5xc:bot-defense'),
176
+ label: 'Web App Scanning',
177
+ description: 'Find web application vulnerability scanning guides.',
178
+ href: 'https://f5-sales-demo.github.io/was/en/',
179
+ icon: resolveMegaMenuIcon('f5xc:web-app-scanning'),
216
180
  },
217
181
  {
218
- label: 'DDoS Protection',
219
- translations: itemLabels['DDoS Protection'],
220
- description: 'Distributed denial-of-service mitigation',
221
- descriptionTranslations: itemDescriptions['Distributed denial-of-service mitigation'],
222
- href: 'https://f5-sales-demo.github.io/ddos/',
223
- icon: resolveMegaMenuIcon('f5xc:ddos-and-transit-services'),
182
+ label: 'Custom responses',
183
+ description: 'Configure application replies, redirects, and security response pages.',
184
+ href: 'https://f5-sales-demo.github.io/custom-responses/en/',
185
+ icon: resolveMegaMenuIcon('f5xc:web-app-and-api-protection'),
224
186
  },
225
187
  ],
226
188
  },
227
- ],
228
- footer: {
229
- label: 'F5 Distributed Cloud Console',
230
- translations: footerLabels['F5 Distributed Cloud Console'],
231
- href: 'https://console.ves.volterra.io',
232
- description: 'Open the XC management portal',
233
- descriptionTranslations: footerDescriptions['Open the XC management portal'],
234
- },
235
- },
236
- },
237
- {
238
- label: 'Networking',
239
- translations: menuLabels.Networking,
240
- content: {
241
- layout: 'grid',
242
- columns: 2,
243
- categories: [
244
189
  {
245
- title: 'Connectivity & Delivery',
246
- translations: categoryTitles['Connectivity & Delivery'],
190
+ title: 'Networking and performance',
247
191
  items: [
248
192
  {
249
193
  label: 'Multi-Cloud Networking',
250
- translations: itemLabels['Multi-Cloud Networking'],
251
- description: 'Site connectivity across clouds',
252
- descriptionTranslations: itemDescriptions['Site connectivity across clouds'],
253
- href: 'https://f5-sales-demo.github.io/multi-cloud-networking/',
194
+ description: 'Find site deployment and cross-cloud connectivity guides.',
195
+ href: 'https://f5-sales-demo.github.io/multi-cloud-networking/en/',
254
196
  icon: resolveMegaMenuIcon('f5xc:multi-cloud-network-connect'),
255
197
  },
256
198
  {
257
- label: 'Canada Topology',
258
- description: 'Canadian hosting and regional access control',
259
- href: 'https://f5-sales-demo.github.io/canada/',
199
+ label: 'Canada topology',
200
+ description: 'Deploy Canadian application hosting and demonstrate regional access controls.',
201
+ href: 'https://f5-sales-demo.github.io/canada/en/',
260
202
  icon: {
261
203
  body: fs
262
204
  .readFileSync(new URL('./assets/canada-flag.svg', import.meta.url), 'utf8')
@@ -267,223 +209,180 @@ export const defaultMegaMenuItems: MegaMenuItem[] = [
267
209
  },
268
210
  },
269
211
  {
270
- label: 'Content Delivery',
271
- translations: itemLabels['Content Delivery'],
272
- description: 'Edge caching and distribution',
273
- descriptionTranslations: itemDescriptions['Edge caching and distribution'],
274
- href: 'https://f5-sales-demo.github.io/cdn/',
212
+ label: 'Content Delivery Network',
213
+ description: 'Review content delivery network (CDN) caching and origin configuration.',
214
+ href: 'https://f5-sales-demo.github.io/cdn/en/',
275
215
  icon: resolveMegaMenuIcon('f5xc:content-delivery-network'),
276
216
  },
277
217
  {
278
- label: 'DNS Load Balancing',
279
- translations: itemLabels['DNS Load Balancing'],
280
- description: 'DNS management and zones',
281
- descriptionTranslations: itemDescriptions['DNS management and zones'],
282
- href: 'https://f5-sales-demo.github.io/dns/',
218
+ label: 'DNS Management',
219
+ description: 'Find Domain Name System (DNS) zone and load balancing guides.',
220
+ href: 'https://f5-sales-demo.github.io/dns/en/',
283
221
  icon: resolveMegaMenuIcon('f5xc:dns-management'),
284
222
  },
285
223
  {
286
- label: 'NGINX Management',
287
- translations: itemLabels['NGINX Management'],
288
- description: 'NGINX integration and configuration',
289
- descriptionTranslations: itemDescriptions['NGINX integration and configuration'],
290
- href: 'https://f5-sales-demo.github.io/nginx/',
224
+ label: 'NGINX One',
225
+ description: 'Review NGINX instance visibility and configuration management.',
226
+ href: 'https://f5-sales-demo.github.io/nginx/en/',
291
227
  icon: resolveMegaMenuIcon('f5xc:nginx-one'),
292
228
  },
293
229
  ],
294
230
  },
231
+ ],
232
+ footer: {
233
+ label: 'Demo catalog',
234
+ href: 'https://f5-sales-demo.github.io/en/demos/',
235
+ description: 'All demonstration and capability guides',
236
+ },
237
+ },
238
+ },
239
+ {
240
+ label: 'Demo environment',
241
+ content: {
242
+ layout: 'list',
243
+ categories: [
295
244
  {
296
- title: 'Manage & Monitor',
297
- translations: categoryTitles['Manage & Monitor'],
245
+ title: 'Deployment resources',
298
246
  items: [
299
247
  {
300
- label: 'Observability',
301
- translations: itemLabels.Observability,
302
- description: 'Monitoring, metrics, and insights',
303
- descriptionTranslations: itemDescriptions['Monitoring, metrics, and insights'],
304
- href: 'https://f5-sales-demo.github.io/observability/',
305
- icon: resolveMegaMenuIcon('f5xc:observability'),
248
+ label: 'Origin server',
249
+ description: 'Compare the Azure full-origin stack with the separate AWS Juice Shop deployment.',
250
+ href: 'https://f5-sales-demo.github.io/origin-server/en/',
251
+ icon: resolveMegaMenuIcon('f5xc:distributed-apps'),
306
252
  },
307
253
  {
308
- label: 'Statistics',
309
- description: 'API metrics, access logs, and security events',
310
- href: 'https://f5-sales-demo.github.io/statistics/en/',
311
- icon: resolveMegaMenuIcon('f5xc:data-intelligence'),
254
+ label: 'Traffic generator',
255
+ description:
256
+ 'Choose Azure or AWS deployment guides for controlled security traffic and browser scenarios.',
257
+ href: 'https://f5-sales-demo.github.io/traffic-generator/en/',
258
+ icon: resolveMegaMenuIcon('f5xc:application-traffic-insight'),
312
259
  },
313
260
  {
314
- label: 'Administration',
315
- translations: itemLabels.Administration,
316
- description: 'Tenant management and RBAC',
317
- descriptionTranslations: itemDescriptions['Tenant management and RBAC'],
318
- href: 'https://f5-sales-demo.github.io/administration/',
319
- icon: resolveMegaMenuIcon('f5xc:administration'),
261
+ label: 'CDN simulator',
262
+ description: 'Deploy an Azure proxy that adds CDN headers to origin requests.',
263
+ href: 'https://f5-sales-demo.github.io/cdn-simulator/en/',
264
+ icon: resolveMegaMenuIcon('f5xc:content-delivery-network'),
320
265
  },
321
266
  ],
322
267
  },
323
268
  ],
324
269
  footer: {
325
- label: 'F5 Cloud Documentation',
326
- translations: footerLabels['F5 Cloud Documentation'],
327
- href: 'https://docs.cloud.f5.com',
328
- description: 'Official product documentation',
329
- descriptionTranslations: footerDescriptions['Official product documentation'],
270
+ label: 'Demo resource catalog',
271
+ href: 'https://f5-sales-demo.github.io/demo-resources/en/',
272
+ description: 'Azure and AWS offerings vary by component',
330
273
  },
331
274
  },
332
275
  },
333
276
  {
334
- label: 'Platform',
335
- translations: menuLabels.Platform,
277
+ label: 'Operations',
336
278
  content: {
337
279
  layout: 'list',
338
280
  categories: [
339
281
  {
340
- title: 'Documentation Tools',
341
- translations: categoryTitles['Documentation Tools'],
282
+ title: 'Queries and administration',
342
283
  items: [
343
284
  {
344
- label: 'F5 XC Docs',
345
- description: 'Organization documentation portal',
346
- href: 'https://f5-sales-demo.github.io/',
347
- icon: resolveMegaMenuIcon('f5xc:doc'),
348
- },
349
- {
350
- label: 'Docs Builder',
351
- translations: itemLabels['Docs Builder'],
352
- description: 'Containerized Astro build system',
353
- descriptionTranslations: itemDescriptions['Containerized Astro build system'],
354
- href: 'https://f5-sales-demo.github.io/docs-builder/',
355
- icon: resolveMegaMenuIcon('f5xc:doc'),
356
- },
357
- {
358
- label: 'F5 Docs Corpus',
359
- translations: itemLabels['F5 Docs Corpus'],
360
- description: 'Machine-readable F5 product documentation',
361
- descriptionTranslations: itemDescriptions['Machine-readable F5 product documentation'],
362
- href: 'https://f5-sales-demo.github.io/html-to-markdown/',
285
+ label: 'Statistics',
286
+ description: 'Query access logs, application metrics, and security telemetry through the API.',
287
+ href: 'https://f5-sales-demo.github.io/statistics/en/',
363
288
  icon: resolveMegaMenuIcon('f5xc:doc'),
364
289
  },
365
290
  {
366
- label: 'Docs Theme',
367
- translations: itemLabels['Docs Theme'],
368
- description: 'Shared branding and styling',
369
- descriptionTranslations: itemDescriptions['Shared branding and styling'],
370
- href: 'https://f5-sales-demo.github.io/docs-theme/',
371
- icon: resolveMegaMenuIcon('f5xc:shared-configuration'),
291
+ label: 'Observability',
292
+ description: 'Find monitoring, metrics, tracing, and alerting guides.',
293
+ href: 'https://f5-sales-demo.github.io/observability/en/',
294
+ icon: resolveMegaMenuIcon('f5xc:observability'),
372
295
  },
373
296
  {
374
- label: 'Icon Packages',
375
- translations: itemLabels['Icon Packages'],
376
- description: 'NPM icon component library',
377
- descriptionTranslations: itemDescriptions['NPM icon component library'],
378
- href: 'https://f5-sales-demo.github.io/docs-icons/',
379
- icon: resolveMegaMenuIcon('f5xc:distributed-apps'),
297
+ label: 'Administration',
298
+ description: 'Find tenant, namespace, and role management guides.',
299
+ href: 'https://f5-sales-demo.github.io/administration/en/',
300
+ icon: resolveMegaMenuIcon('f5xc:administration'),
380
301
  },
381
302
  ],
382
303
  },
304
+ ],
305
+ },
306
+ },
307
+ {
308
+ label: 'Developer tools',
309
+ content: {
310
+ layout: 'grid',
311
+ columns: 2,
312
+ categories: [
383
313
  {
384
- title: 'Developer Automation',
385
- translations: developerAutomationTranslations,
314
+ title: 'Tools and automation',
386
315
  items: [
387
316
  {
388
- label: 'Terraform Provider',
389
- translations: itemLabels['Terraform Provider'],
390
- description: 'F5 XC Terraform provider',
391
- descriptionTranslations: itemDescriptions['F5 XC Terraform provider'],
392
- href: 'https://f5-sales-demo.github.io/terraform-provider-xcsh/',
393
- icon: resolveMegaMenuIcon('hashicorp-flight:terraform-color'),
394
- },
395
- {
396
- label: 'API Specs',
397
- translations: itemLabels['API Specs'],
398
- description: 'OpenAPI spec validation and reconciliation',
399
- descriptionTranslations: itemDescriptions['OpenAPI spec validation and reconciliation'],
400
- href: 'https://f5-sales-demo.github.io/api-specs/',
401
- icon: resolveMegaMenuIcon('f5xc:data-intelligence'),
317
+ label: 'xcsh',
318
+ description:
319
+ 'Install the independent terminal assistant for engineering and F5 Distributed Cloud workflows.',
320
+ href: 'https://f5-sales-demo.github.io/xcsh/en/',
321
+ icon: resolveMegaMenuIcon('carbon:terminal'),
402
322
  },
403
323
  {
404
- label: 'API Specs Enriched',
405
- translations: itemLabels['API Specs Enriched'],
406
- description: 'Enriched OpenAPI specifications',
407
- descriptionTranslations: itemDescriptions['Enriched OpenAPI specifications'],
408
- href: 'https://f5-sales-demo.github.io/api-specs-enriched/',
409
- icon: resolveMegaMenuIcon('f5xc:data-intelligence'),
324
+ label: 'Terraform provider',
325
+ description: 'Configure F5 Distributed Cloud resources with Terraform.',
326
+ href: 'https://f5-sales-demo.github.io/terraform-provider-xcsh/',
327
+ icon: resolveMegaMenuIcon('f5xc:doc'),
410
328
  },
411
329
  {
412
- label: 'xcsh Manifest Automation',
413
- description: 'Deterministic F5 XC manifest operations in GitHub Actions',
414
- descriptionTranslations: xcshActionDescriptionTranslations,
415
- href: 'https://f5-sales-demo.github.io/xcsh-action/',
330
+ label: 'xcsh GitHub Action',
331
+ description: 'Run pinned xcsh manifest operations in GitHub Actions.',
332
+ href: 'https://f5-sales-demo.github.io/xcsh-action/en/',
416
333
  icon: resolveMegaMenuIcon('carbon:workflow-automation'),
417
334
  },
418
335
  {
419
- label: 'VS Code Extension',
420
- translations: itemLabels['VS Code Extension'],
421
- description: 'Manage F5 XC resources from VS Code',
422
- descriptionTranslations: itemDescriptions['Manage F5 XC resources from VS Code'],
423
- href: 'https://f5-sales-demo.github.io/vscode-xcsh/',
336
+ label: 'VS Code extension',
337
+ description: 'Author manifests and manage F5 Distributed Cloud resources in Visual Studio Code.',
338
+ href: 'https://f5-sales-demo.github.io/vscode-xcsh/en/',
424
339
  icon: resolveMegaMenuIcon('carbon:code'),
425
340
  },
426
341
  {
427
- label: 'xcsh CLI',
428
- translations: itemLabels['xcsh CLI'],
429
- description: 'AI-powered CLI for F5 XC',
430
- descriptionTranslations: itemDescriptions['AI-powered CLI for F5 XC'],
431
- href: 'https://f5-sales-demo.github.io/xcsh/',
432
- icon: resolveMegaMenuIcon('carbon:terminal'),
342
+ label: 'xcsh Chrome extension',
343
+ description: 'Connect xcsh to the F5 Distributed Cloud console through a local browser bridge.',
344
+ href: 'https://f5-sales-demo.github.io/xcsh-chrome-extension/en/',
345
+ icon: resolveMegaMenuIcon('carbon:application-web'),
433
346
  },
434
347
  {
435
- label: 'xcsh Chrome Extension',
436
- translations: itemLabels['xcsh Chrome Extension'],
437
- description: 'Drive the F5 XC console with xcsh',
438
- descriptionTranslations: itemDescriptions['Drive the F5 XC console with xcsh'],
439
- href: 'https://f5-sales-demo.github.io/xcsh-chrome-extension/',
440
- icon: resolveMegaMenuIcon('carbon:application-web'),
348
+ label: 'APT repository',
349
+ description: 'Install signed Debian and Ubuntu packages for xcsh and supporting tools.',
350
+ href: 'https://f5-sales-demo.github.io/apt-repo/en/',
351
+ icon: resolveMegaMenuIcon('f5xc:doc'),
441
352
  },
442
353
  ],
443
354
  },
444
- ],
445
- footer: {
446
- label: 'GitHub Organization',
447
- translations: footerLabels['GitHub Organization'],
448
- href: 'https://github.com/f5-sales-demo',
449
- description: 'View all repositories',
450
- descriptionTranslations: footerDescriptions['View all repositories'],
451
- },
452
- },
453
- },
454
- {
455
- label: 'AI',
456
- translations: menuLabels.AI,
457
- content: {
458
- layout: 'list',
459
- categories: [
460
355
  {
461
- title: 'AI Tools',
462
- translations: categoryTitles['AI Tools'],
356
+ title: 'Specifications and plugins',
463
357
  items: [
464
358
  {
465
- label: 'Marketplace',
466
- translations: itemLabels.Marketplace,
467
- description: 'AI-powered marketplace for F5 XC',
468
- descriptionTranslations: itemDescriptions['AI-powered marketplace for F5 XC'],
469
- href: 'https://f5-sales-demo.github.io/marketplace/',
470
- icon: resolveMegaMenuIcon('f5xc:ai_assistant_logo'),
359
+ label: 'API specifications',
360
+ description: 'Find validated OpenAPI specifications and the specification update pipeline.',
361
+ href: 'https://f5-sales-demo.github.io/api-specs/en/',
362
+ icon: resolveMegaMenuIcon('f5xc:data-intelligence'),
471
363
  },
472
364
  {
473
- label: 'xcsh',
474
- translations: itemLabels.xcsh,
475
- description: 'AI-powered development CLI with persistent sessions and native Rust tooling',
476
- descriptionTranslations:
477
- itemDescriptions['AI-powered development CLI with persistent sessions and native Rust tooling'],
478
- href: 'https://f5-sales-demo.github.io/xcsh/',
365
+ label: 'Enriched API specifications',
366
+ description: 'Browse OpenAPI schemas with additional constraints and examples.',
367
+ href: 'https://f5-sales-demo.github.io/api-specs-enriched/en/',
368
+ icon: resolveMegaMenuIcon('f5xc:data-intelligence'),
369
+ },
370
+ {
371
+ label: 'xcsh marketplace',
372
+ description: 'Find xcsh plugins for documentation, sales, cloud, security, and desktop work.',
373
+ href: 'https://f5-sales-demo.github.io/marketplace/en/',
479
374
  icon: resolveMegaMenuIcon('f5xc:ai_assistant_logo'),
480
375
  },
481
376
  {
482
- label: 'Console Catalog',
483
- translations: itemLabels['Console Catalog'],
484
- description: 'AI-driven browser automation for F5 XC UI',
485
- descriptionTranslations: itemDescriptions['AI-driven browser automation for F5 XC UI'],
486
- href: 'https://f5-sales-demo.github.io/console/',
377
+ label: 'Marketplace for Claude Code',
378
+ description: 'Find Language Server Protocol integrations and developer tools for Claude Code.',
379
+ href: 'https://f5-sales-demo.github.io/marketplace-claude-code/en/',
380
+ icon: resolveMegaMenuIcon('f5xc:doc'),
381
+ },
382
+ {
383
+ label: 'Console catalog',
384
+ description: 'Browse documented console routes and browser automation workflows.',
385
+ href: 'https://f5-sales-demo.github.io/console/en/',
487
386
  icon: resolveMegaMenuIcon('f5xc:ai_assistant_logo'),
488
387
  },
489
388
  ],
@@ -492,82 +391,58 @@ export const defaultMegaMenuItems: MegaMenuItem[] = [
492
391
  },
493
392
  },
494
393
  {
495
- label: 'Demo Resources',
496
- translations: menuLabels['Demo Resources'],
394
+ label: 'Ecosystem',
497
395
  content: {
498
396
  layout: 'list',
499
397
  categories: [
500
398
  {
501
- title: 'Components',
502
- translations: categoryTitles.Components,
399
+ title: 'Public projects',
503
400
  items: [
504
401
  {
505
- label: 'Origin Server',
506
- translations: itemLabels['Origin Server'],
507
- description: 'Vulnerable web applications for WAF and API testing',
508
- descriptionTranslations: itemDescriptions['Vulnerable web applications for WAF and API testing'],
509
- href: 'https://f5-sales-demo.github.io/origin-server/',
510
- icon: resolveMegaMenuIcon('f5xc:distributed-apps'),
511
- },
512
- {
513
- label: 'Traffic Generator',
514
- translations: itemLabels['Traffic Generator'],
515
- description: 'Security tools and attack suites for traffic generation',
516
- descriptionTranslations: itemDescriptions['Security tools and attack suites for traffic generation'],
517
- href: 'https://f5-sales-demo.github.io/traffic-generator/',
518
- icon: resolveMegaMenuIcon('f5xc:application-traffic-insight'),
402
+ label: 'F5 documentation corpus',
403
+ description: 'Browse curated F5 documentation and its Markdown sources.',
404
+ href: 'https://f5-sales-demo.github.io/html-to-markdown/',
405
+ icon: resolveMegaMenuIcon('f5xc:doc'),
519
406
  },
520
407
  {
521
- label: 'CDN Simulator',
522
- translations: itemLabels['CDN Simulator'],
523
- description: 'NGINX-based CDN edge node simulator',
524
- descriptionTranslations: itemDescriptions['NGINX-based CDN edge node simulator'],
525
- href: 'https://f5-sales-demo.github.io/cdn-simulator/',
526
- icon: resolveMegaMenuIcon('f5xc:content-delivery-network'),
408
+ label: 'Ecosystem directory',
409
+ description: 'Documentation, tools, and public project sources',
410
+ href: 'https://f5-sales-demo.github.io/en/ecosystem/',
411
+ icon: resolveMegaMenuIcon('f5xc:doc'),
527
412
  },
528
413
  ],
529
414
  },
530
415
  ],
531
416
  footer: {
532
- label: 'View All Components',
533
- translations: footerLabels['View All Components'],
534
- href: 'https://f5-sales-demo.github.io/demo-resources/',
535
- description: 'Browse the full demo resource catalog',
536
- descriptionTranslations: footerDescriptions['Browse the full demo resource catalog'],
417
+ label: 'Project sources',
418
+ href: 'https://github.com/f5-sales-demo',
419
+ description: 'Public repositories in the community organization',
537
420
  },
538
421
  },
539
422
  },
540
423
  {
541
- label: 'Resources',
542
- translations: menuLabels.Resources,
424
+ label: 'F5 services',
543
425
  content: {
544
426
  layout: 'list',
545
427
  categories: [
546
428
  {
547
- title: 'F5 Ecosystem',
548
- translations: categoryTitles['F5 Ecosystem'],
429
+ title: 'Official documentation and services',
549
430
  items: [
550
431
  {
551
- label: 'F5 XC Console',
552
- translations: itemLabels['F5 XC Console'],
553
- description: 'Distributed Cloud management portal',
554
- descriptionTranslations: itemDescriptions['Distributed Cloud management portal'],
432
+ label: 'F5 Distributed Cloud console',
433
+ description: 'Management service; sign-in required',
555
434
  href: 'https://console.ves.volterra.io',
556
435
  icon: resolveMegaMenuIcon('f5xc:platform'),
557
436
  },
558
437
  {
559
- label: 'F5 Cloud Docs',
560
- translations: itemLabels['F5 Cloud Docs'],
561
- description: 'Official product documentation',
562
- descriptionTranslations: itemDescriptions['Official product documentation'],
438
+ label: 'F5 Distributed Cloud documentation',
439
+ description: 'Official public product documentation',
563
440
  href: 'https://docs.cloud.f5.com',
564
441
  icon: resolveMegaMenuIcon('f5xc:doc'),
565
442
  },
566
443
  {
567
- label: 'MyF5 Support',
568
- translations: itemLabels['MyF5 Support'],
569
- description: 'Technical support portal',
570
- descriptionTranslations: itemDescriptions['Technical support portal'],
444
+ label: 'MyF5 support',
445
+ description: 'Support portal; sign-in required for account services',
571
446
  href: 'https://my.f5.com/manage/s/',
572
447
  icon: resolveMegaMenuIcon('f5xc:support'),
573
448
  },
@@ -630,38 +505,7 @@ export function federatedSearchBundlePaths(site: string, base: string): string[]
630
505
  );
631
506
  }
632
507
 
633
- export const federatedSearchSites = [
634
- { repo: 'docs-builder', label: 'Docs Builder' },
635
- { repo: 'docs-theme', label: 'Docs Theme' },
636
- { repo: 'f5-sales-demo.github.io', label: 'F5 XC Docs' },
637
- { repo: 'administration', label: 'Administration' },
638
- { repo: 'nginx', label: 'NGINX' },
639
- { repo: 'observability', label: 'Observability' },
640
- { repo: 'statistics', label: 'Statistics' },
641
- { repo: 'was', label: 'Web App Scanning' },
642
- { repo: 'multi-cloud-networking', label: 'Multi-Cloud Networking' },
643
- { repo: 'canada', label: 'Canada Topology' },
644
- { repo: 'dns', label: 'DNS' },
645
- { repo: 'cdn', label: 'CDN' },
646
- { repo: 'bot-standard', label: 'Bot Standard' },
647
- { repo: 'bot-advanced', label: 'Bot Advanced' },
648
- { repo: 'ddos', label: 'DDoS' },
649
- { repo: 'webapp-api-protection', label: 'Web App & API Protection' },
650
- { repo: 'api-protection', label: 'API Security' },
651
- { repo: 'xcsh', label: 'xcsh' },
652
- { repo: 'xcsh-action', label: 'xcsh Manifest Automation' },
653
- { repo: 'csd', label: 'Client-Side Defense' },
654
- { repo: 'docs-icons', label: 'Docs Icons' },
655
- { repo: 'marketplace', label: 'Marketplace' },
656
- { repo: 'api-specs', label: 'API Specs' },
657
- { repo: 'api-specs-enriched', label: 'API Specs Enriched' },
658
- { repo: 'cdn-simulator', label: 'CDN Simulator' },
659
- { repo: 'origin-server', label: 'Origin Server' },
660
- { repo: 'traffic-generator', label: 'Traffic Generator' },
661
- { repo: 'demo-resources', label: 'Demo Resources' },
662
- { repo: 'xcsh-chrome-extension', label: 'xcsh Chrome Extension' },
663
- { repo: 'console', label: 'Console Catalog' },
664
- ];
508
+ export { federatedSearchSites } from './src/utils/search-sites';
665
509
 
666
510
  export function createF5xcDocsConfig(options: F5xcDocsConfigOptions = {}) {
667
511
  const canonicalProvider =
@@ -729,7 +573,9 @@ export function createF5xcDocsConfig(options: F5xcDocsConfigOptions = {}) {
729
573
  (canonicalProvider
730
574
  ? [...defaultMegaMenuItems, ...providerMegaMenu(base, stagedProviderSections(canonicalProvider.manifest))]
731
575
  : defaultMegaMenuItems);
732
- const head = options.head || (canonicalProvider ? [] : defaultHead);
576
+ const head =
577
+ options.head ||
578
+ (canonicalProvider || githubRepository === 'f5-sales-demo/f5-sales-demo.github.io' ? [] : defaultHead);
733
579
  const logo = options.logo || { src: '@f5-sales-demo/docs-theme/assets/f5-distributed-cloud.svg' };
734
580
  const additionalRemarkPlugins = options.additionalRemarkPlugins || [];
735
581
  const additionalIntegrations = options.additionalIntegrations || [];