/**
* 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: ``,
};
/** @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/translateable/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',
{
type: 'category',
label: 'Migrating from v1',
items: [{ type: 'autogenerated', dirName: 'guides/developer-guide/migrating-from-v1' }],
},
'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',
'guides/extending-the-dashboard/navigation/index',
'guides/extending-the-dashboard/page-blocks/index',
'guides/extending-the-dashboard/action-bar-items/index',
'guides/extending-the-dashboard/theming/index',
'guides/extending-the-dashboard/cms-tutorial/index',
{
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/input-components',
'guides/extending-the-dashboard/custom-form-components/display-components',
'guides/extending-the-dashboard/custom-form-components/relation-selectors',
],
},
'guides/extending-the-dashboard/tech-stack/index',
],
},
{
type: 'category',
label: 'Angular Admin UI',
customProps: {
icon: icon.computer,
},
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: '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',
],
},
],
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: '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: 'Admin UI API',
items: [{ type: 'autogenerated', dirName: 'reference/admin-ui-api' }],
customProps: {
icon: icon.computer,
},
},
{
type: 'category',
label: 'Dashboard API',
items: [{ type: 'autogenerated', dirName: 'reference/dashboard' }],
customProps: {
icon: icon.reactLogo,
},
},
],
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;