1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-31 13:47:02 +02:00
unleash.unleash/website/sidebars.ts
Melinda Fekete 46f7031854
Fix linting in docs sidebar (#10347)
Fix linting in docs
2025-07-11 15:03:12 +02:00

745 lines
29 KiB
TypeScript

/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
import docsSidebar from './docs/reference/api/unleash/sidebar.ts';
const sidebars: SidebarsConfig = {
academy: [
{
label: 'Unleash Academy',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'unleash-academy/introduction',
},
items: [
'unleash-academy/foundational',
'unleash-academy/advanced-for-devs',
'unleash-academy/managing-unleash-for-devops',
],
},
{
type: 'ref',
id: 'welcome',
label: 'Docs',
className: 'show-when-collapsed',
},
],
documentation: [
{
label: 'Get started',
type: 'category',
link: {
type: 'doc',
id: 'quickstart',
},
items: [
{
type: 'doc',
label: 'Quickstart',
id: 'quickstart',
},
{
type: 'doc',
label: 'Introduction to feature flags',
id: 'topics/what-is-a-feature-flag',
},
{
type: 'doc',
label: 'Unleash architecture overview',
id: 'understanding-unleash/unleash-overview',
},
],
},
{
label: 'Core concepts',
type: 'category',
link: {
type: 'doc',
id: 'understanding-unleash/the-anatomy-of-unleash',
},
items: [
{
label: 'Projects and environments',
collapsed: true,
type: 'category',
link: { type: 'doc', id: 'reference/projects' },
items: [
'reference/projects',
'reference/project-collaboration-mode',
'reference/environments',
'reference/environment-import-export',
],
},
{
label: 'Feature flags and activation strategies',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/feature-toggles',
},
items: [
'reference/feature-toggles',
'reference/activation-strategies',
'reference/strategy-variants',
'understanding-unleash/managing-constraints',
'reference/segments',
'reference/unleash-context',
'reference/stickiness',
'reference/release-templates',
],
},
{
label: 'Identity and access',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/api-tokens-and-client-keys',
},
items: [
'reference/api-tokens-and-client-keys',
'reference/front-end-api',
'reference/rbac',
'reference/sso',
'reference/scim',
'reference/change-requests',
'reference/public-signup',
],
},
{
label: 'Instance health and configuration',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/technical-debt',
},
items: [
'reference/technical-debt',
'reference/insights',
'reference/resource-limits',
],
},
{
label: 'Testing and monitoring',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/impression-data',
},
items: [
'reference/impression-data',
'reference/events',
'reference/playground',
'reference/network-view',
],
},
{
label: 'Automation and integrations',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/applications',
},
items: [
'reference/applications',
'reference/service-accounts',
'reference/signals',
'reference/actions',
],
},
{
label: 'Admin UI',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'reference/login-history',
},
items: [
'reference/login-history',
'reference/banners',
'reference/command-menu',
'reference/search-operators',
'reference/maintenance-mode',
],
},
],
},
{
label: 'Tutorials and guides',
type: 'category',
items: [
{
label: 'Feature management best practices',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'topics/feature-flags/feature-flag-best-practices',
},
items: [
{
type: 'doc',
label: 'Building and scaling feature flag systems',
id: 'topics/feature-flags/feature-flag-best-practices',
},
{
type: 'doc',
label: 'Using feature flags at scale',
id: 'topics/feature-flags/best-practices-using-feature-flags-at-scale',
},
{
type: 'doc',
label: 'Migrating from homegrown feature management solutions',
id: 'topics/feature-flag-migration/feature-flag-migration-best-practices',
},
],
},
{
label: 'Development and release workflows',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'feature-flag-tutorials/use-cases/how-to-create-feature-toggles',
},
items: [
{
type: 'doc',
id: 'feature-flag-tutorials/use-cases/how-to-create-feature-toggles',
},
{
type: 'doc',
label: 'Schedule a feature release',
id: 'how-to/how-to-schedule-feature-releases',
},
{
type: 'doc',
label: 'Trunk-based development',
id: 'feature-flag-tutorials/use-cases/trunk-based-development',
},
{
type: 'doc',
label: 'Gradual rollout',
id: 'feature-flag-tutorials/use-cases/gradual-rollout',
},
],
},
{
label: 'Enterprise-grade security and scale',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'feature-flag-tutorials/use-cases/user-management-access-controls',
},
items: [
{
type: 'doc',
label: 'User management, access controls, and auditing',
id: 'feature-flag-tutorials/use-cases/user-management-access-controls',
},
{
type: 'doc',
label: 'Security and compliance',
id: 'feature-flag-tutorials/use-cases/security-compliance',
},
{
type: 'doc',
label: 'Scaling Unleash',
id: 'feature-flag-tutorials/use-cases/scaling-unleash',
},
],
},
{
label: 'Experimentation and analytics',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'feature-flag-tutorials/use-cases/a-b-testing',
},
items: [
{
type: 'doc',
label: 'A/B testing',
id: 'feature-flag-tutorials/use-cases/a-b-testing',
},
{
type: 'doc',
label: 'Feature flags for AI',
id: 'feature-flag-tutorials/use-cases/ai',
},
{
type: 'doc',
label: 'Use impression data for analytics',
id: 'feature-flag-tutorials/use-cases/how-to-capture-impression-data',
},
],
},
{
type: 'category',
label: 'Language and framework examples',
collapsed: true,
link: {
type: 'doc',
id: 'feature-flag-tutorials/react/implementing-feature-flags',
},
items: [
{
type: 'category',
label: 'React',
link: {
type: 'doc',
id: 'feature-flag-tutorials/react/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/react/examples',
},
],
},
{
type: 'category',
label: 'Java',
link: {
type: 'doc',
id: 'feature-flag-tutorials/java/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Spring Boot',
id: 'feature-flag-tutorials/java/spring-boot-implementing-feature-flags',
},
{
type: 'doc',
label: 'Spring Boot Examples',
id: 'feature-flag-tutorials/java/spring-boot-examples',
},
],
},
{
type: 'category',
label: 'Python',
link: {
type: 'doc',
id: 'feature-flag-tutorials/python/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Python Examples',
id: 'feature-flag-tutorials/python/examples',
},
{
type: 'doc',
label: 'Django Tutorial',
id: 'feature-flag-tutorials/django/implementing-feature-flags-django',
},
{
type: 'doc',
label: 'Django Examples',
id: 'feature-flag-tutorials/django/django-examples',
},
],
},
{
type: 'doc',
label: 'Next.js',
id: 'feature-flag-tutorials/nextjs/implementing-feature-flags-nextjs',
},
{
type: 'category',
label: 'Go',
link: {
type: 'doc',
id: 'feature-flag-tutorials/golang/implementing-feature-flags-golang',
},
items: [
{
type: 'doc',
label: 'Go Examples',
id: 'feature-flag-tutorials/golang/golang-examples',
},
],
},
{
type: 'doc',
label: 'JavaScript',
id: 'feature-flag-tutorials/javascript/implementing-feature-flags-js',
},
{
type: 'category',
label: '.NET',
link: {
type: 'doc',
id: 'feature-flag-tutorials/dotnet/implementing-feature-flags-dotnet',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/dotnet/dotnet-examples',
},
],
},
{
type: 'category',
label: 'iOS',
link: {
type: 'doc',
id: 'feature-flag-tutorials/ios/implementing-feature-flags-ios',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/ios/examples',
},
],
},
{
type: 'doc',
label: 'Serverless',
id: 'feature-flag-tutorials/serverless/implementing-feature-flags-in-aws-lambda',
},
{
type: 'category',
label: 'Rust',
link: {
type: 'doc',
id: 'feature-flag-tutorials/rust/implementing-feature-flags-rust',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/rust/rust-examples',
},
],
},
{
type: 'doc',
label: 'Flutter',
id: 'feature-flag-tutorials/flutter/a-b-testing',
},
{
type: 'doc',
label: 'SvelteKit',
id: 'feature-flag-tutorials/sveltekit/implementing-feature-flags-sveltekit',
},
{
type: 'category',
label: 'Ruby',
link: {
type: 'doc',
id: 'feature-flag-tutorials/ruby/implementing-feature-flags-ruby',
},
items: [
{
type: 'doc',
label: 'Ruby Examples',
id: 'feature-flag-tutorials/ruby/ruby-examples',
},
{
type: 'doc',
label: 'Rails Tutorial',
id: 'feature-flag-tutorials/rails/implementing-feature-flags-rails',
},
{
type: 'doc',
label: 'Rails Examples',
id: 'feature-flag-tutorials/rails/rails-examples',
},
],
},
],
},
],
},
{
label: 'SDKs',
type: 'category',
link: { type: 'doc', id: 'reference/sdks/index' },
items: [
{
type: 'category',
label: 'Server-side SDKs',
items: [
{
type: 'autogenerated',
dirName: 'generated/sdks/server-side',
},
],
},
{
type: 'category',
label: 'Client-side SDKs',
items: [
{
type: 'autogenerated',
dirName: 'generated/sdks/client-side',
},
],
},
{
type: 'link',
label: 'Community SDKs',
href: '/reference/sdks#community-sdks',
},
],
},
{
label: 'API reference',
type: 'category',
link: {
type: 'doc',
id: 'api-overview',
},
items: [
docsSidebar,
{
'System API': [
'reference/api/legacy/unleash/internal/prometheus',
'reference/api/legacy/unleash/internal/health',
],
'(Legacy Docs) Admin API': [
'reference/api/legacy/unleash/admin/addons',
'reference/api/legacy/unleash/admin/context',
'reference/api/legacy/unleash/admin/events',
'reference/api/legacy/unleash/admin/features-v2',
'reference/api/legacy/unleash/admin/feature-types',
'reference/api/legacy/unleash/admin/features',
'reference/api/legacy/unleash/admin/archive',
'reference/api/legacy/unleash/admin/metrics',
'reference/api/legacy/unleash/admin/projects',
'reference/api/legacy/unleash/admin/segments',
'reference/api/legacy/unleash/admin/state',
'reference/api/legacy/unleash/admin/strategies',
'reference/api/legacy/unleash/admin/tags',
'reference/api/legacy/unleash/admin/user-admin',
],
'(Legacy Docs) Client API': [
'reference/api/legacy/unleash/client/features',
'reference/api/legacy/unleash/client/metrics',
'reference/api/legacy/unleash/client/register',
],
},
],
},
{
type: 'category',
label: 'Unleash Edge',
collapsed: true,
link: {
type: 'doc',
id: 'generated/unleash-edge',
},
items: [
'generated/unleash-edge/concepts',
'generated/unleash-edge/deploying',
'generated/unleash-edge/benchmarking',
'generated/unleash-edge/cli',
'generated/unleash-edge/development-guide',
'generated/unleash-edge/migration-guide',
],
},
{
label: 'Integrate and deploy',
type: 'category',
items: [
{
type: 'doc',
label: 'Unleash hosting options',
id: 'understanding-unleash/hosting-options',
},
{
type: 'category',
link: {
type: 'doc',
id: 'using-unleash/deploy/getting-started',
},
label: 'Self-hosting Unleash',
items: [
'using-unleash/deploy/getting-started',
'using-unleash/deploy/configuring-unleash',
'using-unleash/deploy/upgrading-unleash',
'using-unleash/deploy/license-keys',
'using-unleash/deploy/https',
{
type: 'doc',
label: 'Synchronize Unleash instances',
id: 'how-to/how-to-synchronize-unleash-instances',
},
],
},
{
label: 'Single sign-on',
type: 'category',
link: {
type: 'doc',
id: 'how-to/how-to-add-sso-open-id-connect',
},
items: [
'how-to/how-to-add-sso-open-id-connect',
'how-to/how-to-add-sso-saml',
'how-to/how-to-add-sso-saml-keycloak',
'how-to/how-to-add-sso-azure-saml',
'how-to/how-to-setup-sso-keycloak-group-sync',
'how-to/how-to-set-up-group-sso-sync',
],
},
{
label: 'Automatic provisioning',
type: 'category',
link: {
type: 'doc',
id: 'how-to/how-to-setup-provisioning-with-okta',
},
items: [
'how-to/how-to-setup-provisioning-with-okta',
'how-to/how-to-setup-provisioning-with-entra',
],
},
{
label: 'Integrations',
type: 'category',
link: {
type: 'doc',
id: 'reference/integrations/index',
},
items: [
'reference/integrations/datadog',
{
type: 'category',
label: 'Jira server',
items: [
'reference/integrations/jira-server-plugin-installation',
'reference/integrations/jira-server-plugin-usage',
],
},
{
type: 'category',
label: 'Jira cloud',
items: [
'reference/integrations/jira-cloud-plugin-installation',
'reference/integrations/jira-cloud-plugin-usage',
],
},
'reference/integrations/slack-app',
'reference/integrations/teams',
'reference/integrations/webhook',
{
type: 'doc',
label: 'Terraform',
id: 'reference/terraform',
},
],
},
],
},
{
label: 'Data privacy and compliance',
type: 'category',
link: {
type: 'doc',
id: 'understanding-unleash/data-collection',
},
items: [
{
type: 'doc',
label: 'Data collection and privacy',
id: 'understanding-unleash/data-collection',
},
{
type: 'category',
label: 'Compliance',
link: {
type: 'doc',
id: 'using-unleash/compliance/compliance-overview',
},
items: [
{
type: 'doc',
label: 'FedRAMP',
id: 'using-unleash/compliance/fedramp',
},
{
type: 'doc',
label: 'SOC2 type II',
id: 'using-unleash/compliance/soc2',
},
{
type: 'doc',
label: 'ISO27001',
id: 'using-unleash/compliance/iso27001',
},
],
},
],
},
{
label: 'Support and community',
type: 'category',
items: [
{
type: 'doc',
id: 'troubleshooting',
label: 'Troubleshooting',
},
{
label: 'Contribute to Unleash',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'contributing/developer-guide',
},
items: [
'contributing/developer-guide',
'contributing/frontend/overview',
'contributing/backend/overview',
{
type: 'category',
label: 'Architectural decision records',
items: [
{
type: 'autogenerated',
dirName: 'contributing/ADRs',
},
],
},
],
},
],
},
{
type: 'ref',
id: 'unleash-academy/introduction',
label: 'Unleash Academy',
className: 'show-when-collapsed',
},
],
};
export default sidebars;