/** * 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. */ // @ts-check const icon = { bolt: ``, angleBrackets: ``, puzzle: ``, book: ``, computer: ``, shoppingBag: ``, academicCap: ``, cloudArrowUp: ``, tsLogo: ``, graphqlLogo: ``, reactLogo: ` React Logo `, clockFiles: ``, }; const htmlSeparator = '
'; /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { // By default, Docusaurus generates a sidebar from the docs folder structure learnSidebar: [ { type: 'category', label: 'Getting Started', items: [ 'guides/getting-started/installation/index', 'guides/getting-started/graphql-intro/index', 'guides/getting-started/try-the-api/index', ], customProps: { icon: icon.bolt, }, }, { type: 'category', label: 'Core Concepts', items: [{ type: 'autogenerated', dirName: 'guides/core-concepts' }], customProps: { icon: icon.puzzle, }, }, { type: 'category', label: 'Developer Guide', items: [ { type: 'html', value: 'Overview', className: 'sidebar-section-header', }, 'guides/developer-guide/overview/index', 'guides/developer-guide/the-api-layer/index', 'guides/developer-guide/the-service-layer/index', { type: 'html', value: 'Fundamentals', className: 'sidebar-section-header', }, 'guides/developer-guide/cli/index', 'guides/developer-guide/configuration/index', 'guides/developer-guide/custom-fields/index', 'guides/developer-guide/error-handling/index', 'guides/developer-guide/events/index', 'guides/developer-guide/migrations/index', 'guides/developer-guide/plugins/index', 'guides/developer-guide/security/index', 'guides/developer-guide/strategies-configurable-operations/index', 'guides/developer-guide/testing/index', 'guides/developer-guide/updating/index', 'guides/developer-guide/worker-job-queue/index', 'guides/developer-guide/settings-store/index', { type: 'html', value: 'Extend', className: 'sidebar-section-header', }, 'guides/developer-guide/rest-endpoint/index', 'guides/developer-guide/custom-permissions/index', 'guides/developer-guide/database-entity/index', 'guides/developer-guide/extend-graphql-api/index', { type: 'html', value: 'Advanced Topics', className: 'sidebar-section-header', }, 'guides/developer-guide/custom-strategies-in-plugins/index', 'guides/developer-guide/channel-aware/index', 'guides/developer-guide/translatable/index', 'guides/developer-guide/has-custom-fields/index', 'guides/developer-guide/cache/index', 'guides/developer-guide/dataloaders/index', 'guides/developer-guide/db-subscribers/index', 'guides/developer-guide/importing-data/index', 'guides/developer-guide/logging/index', 'guides/developer-guide/scheduled-tasks/index', 'guides/developer-guide/stand-alone-scripts/index', 'guides/developer-guide/translations/index', 'guides/developer-guide/uploading-files/index', 'guides/developer-guide/nest-devtools/index', ], customProps: { icon: icon.angleBrackets, }, }, { type: 'category', label: 'How-to Guides', items: [{ type: 'autogenerated', dirName: 'guides/how-to' }], customProps: { icon: icon.book, }, }, { type: 'category', label: 'React Admin Dashboard', customProps: { icon: icon.reactLogo, }, items: [ 'guides/extending-the-dashboard/getting-started/index', 'guides/extending-the-dashboard/extending-overview/index', { type: 'category', label: 'Creating Pages', link: { type: 'doc', id: 'guides/extending-the-dashboard/creating-pages/index' }, items: [ 'guides/extending-the-dashboard/creating-pages/list-pages', 'guides/extending-the-dashboard/creating-pages/detail-pages', 'guides/extending-the-dashboard/creating-pages/tabbed-pages', ], }, { type: 'category', label: 'Customizing Pages', link: { type: 'doc', id: 'guides/extending-the-dashboard/customizing-pages/index' }, items: [ 'guides/extending-the-dashboard/customizing-pages/customizing-list-pages', 'guides/extending-the-dashboard/customizing-pages/customizing-detail-pages', 'guides/extending-the-dashboard/customizing-pages/customizing-login-page', 'guides/extending-the-dashboard/customizing-pages/page-blocks', 'guides/extending-the-dashboard/customizing-pages/action-bar-items', 'guides/extending-the-dashboard/customizing-pages/insights-widgets', 'guides/extending-the-dashboard/customizing-pages/history-entries', ], }, { type: 'category', label: 'Custom Form Elements', link: { type: 'doc', id: 'guides/extending-the-dashboard/custom-form-components/index' }, items: [ 'guides/extending-the-dashboard/custom-form-components/form-component-examples', 'guides/extending-the-dashboard/custom-form-components/relation-selectors', ], }, 'guides/extending-the-dashboard/navigation/index', 'guides/extending-the-dashboard/alerts/index', 'guides/extending-the-dashboard/data-fetching/index', 'guides/extending-the-dashboard/theming/index', 'guides/extending-the-dashboard/deployment/index', 'guides/extending-the-dashboard/tech-stack/index', 'guides/extending-the-dashboard/migration/index', { type: 'link', label: 'Component Library', // The link label href: 'https://storybook.vendure.io', // The external URL }, ], }, { type: 'category', label: 'Building a Storefront', customProps: { icon: icon.shoppingBag, }, items: [ 'guides/storefront/storefront-starters/index', 'guides/storefront/connect-api/index', 'guides/storefront/codegen/index', { type: 'html', value: 'Storefront Tasks', className: 'sidebar-section-header', }, 'guides/storefront/navigation-menu/index', 'guides/storefront/listing-products/index', 'guides/storefront/product-detail/index', 'guides/storefront/active-order/index', 'guides/storefront/checkout-flow/index', 'guides/storefront/customer-accounts/index', ], }, { type: 'category', label: 'Deployment', customProps: { icon: icon.cloudArrowUp, }, items: [ 'guides/deployment/production-configuration/index', 'guides/deployment/using-docker', 'guides/deployment/horizontal-scaling', 'guides/deployment/getting-data-into-production', 'guides/deployment/server-resource-requirements', 'guides/deployment/deploying-admin-ui', { type: 'html', value: 'Deployment Guides', className: 'sidebar-section-header', }, 'guides/deployment/deploy-to-northflank/index', 'guides/deployment/deploy-to-digital-ocean-app-platform/index', 'guides/deployment/deploy-to-railway/index', 'guides/deployment/deploy-to-render/index', 'guides/deployment/deploy-to-google-cloud-run/index', ], }, { type: 'html', value: htmlSeparator, defaultStyle: true, // Use the default menu item styling }, { type: 'category', label: 'Legacy APIs', customProps: { icon: icon.clockFiles, }, items: [ { type: 'category', label: 'Angular Admin UI', items: [ 'guides/extending-the-admin-ui/getting-started/index', 'guides/extending-the-admin-ui/ui-library/index', 'guides/extending-the-admin-ui/admin-ui-theming-branding/index', 'guides/extending-the-admin-ui/adding-ui-translations/index', 'guides/extending-the-admin-ui/using-other-frameworks/index', { type: 'html', value: 'Providers', className: 'sidebar-section-header', }, 'guides/extending-the-admin-ui/nav-menu/index', 'guides/extending-the-admin-ui/alerts/index', 'guides/extending-the-admin-ui/add-actions-to-pages/index', 'guides/extending-the-admin-ui/page-tabs/index', 'guides/extending-the-admin-ui/custom-form-inputs/index', 'guides/extending-the-admin-ui/custom-data-table-components/index', 'guides/extending-the-admin-ui/custom-detail-components/index', 'guides/extending-the-admin-ui/bulk-actions/index', 'guides/extending-the-admin-ui/dashboard-widgets/index', 'guides/extending-the-admin-ui/custom-timeline-components/index', { type: 'html', value: 'Routes', className: 'sidebar-section-header', }, 'guides/extending-the-admin-ui/defining-routes/index', 'guides/extending-the-admin-ui/creating-list-views/index', 'guides/extending-the-admin-ui/creating-detail-views/index', ], }, { type: 'category', label: 'Migrating from v1', items: [{ type: 'autogenerated', dirName: 'guides/developer-guide/migrating-from-v1' }], }, ], }, ], referenceSidebar: [ { type: 'doc', id: 'reference/index', className: 'reference-index', customProps: { icon: icon.book, }, }, { type: 'category', label: 'TypeScript API', items: [{ type: 'autogenerated', dirName: 'reference/typescript-api' }], customProps: { viewBox: '0 0 128 128', icon: icon.tsLogo, }, }, { type: 'category', label: 'Core Plugins', link: { type: 'doc', id: 'reference/core-plugins/index' }, customProps: { viewBox: '0 0 128 128', icon: icon.tsLogo, }, items: [ { type: 'category', label: 'AdminUiPlugin', link: { type: 'doc', id: 'reference/core-plugins/admin-ui-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/admin-ui-plugin' }], }, { type: 'category', label: 'AssetServerPlugin', link: { type: 'doc', id: 'reference/core-plugins/asset-server-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/asset-server-plugin' }], }, { type: 'category', label: 'DashboardPlugin', link: { type: 'doc', id: 'reference/core-plugins/dashboard-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/dashboard-plugin' }], }, { type: 'category', label: 'ElasticsearchPlugin', link: { type: 'doc', id: 'reference/core-plugins/elasticsearch-plugin/index' }, items: [ { type: 'autogenerated', dirName: 'reference/core-plugins/elasticsearch-plugin' }, ], }, { type: 'category', label: 'EmailPlugin', link: { type: 'doc', id: 'reference/core-plugins/email-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/email-plugin' }], }, { type: 'category', label: 'GraphiQLPlugin', link: { type: 'doc', id: 'reference/core-plugins/graphiql-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/graphiql-plugin' }], }, { type: 'category', label: 'HardenPlugin', link: { type: 'doc', id: 'reference/core-plugins/harden-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/harden-plugin' }], }, { type: 'category', label: 'JobQueuePlugin', link: { type: 'doc', id: 'reference/core-plugins/job-queue-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/job-queue-plugin' }], }, { type: 'category', label: 'PaymentsPlugin', link: { type: 'doc', id: 'reference/core-plugins/payments-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/payments-plugin' }], }, { type: 'category', label: 'SentryPlugin', link: { type: 'doc', id: 'reference/core-plugins/sentry-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/sentry-plugin' }], }, { type: 'category', label: 'StellatePlugin', link: { type: 'doc', id: 'reference/core-plugins/stellate-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/stellate-plugin' }], }, { type: 'category', label: 'TelemetryPlugin', link: { type: 'doc', id: 'reference/core-plugins/telemetry-plugin/index' }, items: [{ type: 'autogenerated', dirName: 'reference/core-plugins/telemetry-plugin' }], }, ], }, { type: 'category', label: 'GraphQL API', items: [ { type: 'category', label: 'Admin API', items: [{ type: 'autogenerated', dirName: 'reference/graphql-api/admin' }], }, { type: 'category', label: 'Shop API', items: [{ type: 'autogenerated', dirName: 'reference/graphql-api/shop' }], }, ], customProps: { viewBox: '0 0 100 100', icon: icon.graphqlLogo, }, }, { type: 'category', label: 'Dashboard API', items: [{ type: 'autogenerated', dirName: 'reference/dashboard' }], customProps: { icon: icon.reactLogo, }, }, { type: 'html', value: htmlSeparator, defaultStyle: true, // Use the default menu item styling }, { type: 'category', label: 'Admin UI API', items: [{ type: 'autogenerated', dirName: 'reference/admin-ui-api' }], customProps: { icon: icon.computer, }, }, ], userGuideSidebar: [ { type: 'doc', id: 'user-guide/index', className: 'reference-index', }, { type: 'category', label: 'Catalog', items: [{ type: 'autogenerated', dirName: 'user-guide/catalog' }], }, { type: 'category', label: 'Orders', items: [{ type: 'autogenerated', dirName: 'user-guide/orders' }], }, { type: 'category', label: 'Customers', items: [{ type: 'autogenerated', dirName: 'user-guide/customers' }], }, { type: 'category', label: 'Promotions', items: [{ type: 'autogenerated', dirName: 'user-guide/promotions' }], }, { type: 'category', label: 'Settings', items: [{ type: 'autogenerated', dirName: 'user-guide/settings' }], }, ], }; module.exports = sidebars;