fixes + added new sidebars

This commit is contained in:
Shahed Nasser
2025-03-10 08:33:21 +02:00
parent 5deb8eaf50
commit 87b041800a
73 changed files with 1252 additions and 881 deletions

View File

@@ -68,7 +68,6 @@ const BaseSpecsProvider = ({ children, baseSpecs }: BaseSpecsProviderProps) => {
children: childItems,
loaded: childItems.length > 0,
showLoadingIfEmpty: true,
initialOpen: false,
onOpen: () => {
if (location.hash !== tagPathName) {
router.push(`#${tagPathName}`, {

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Create Cache Module"
tags:
- cache
- how to
- server
---
export const metadata = {
title: `How to Create a Cache Module`,
}

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Create Event Module"
tags:
- event
- how to
- server
---
import { TypeList } from "docs-ui"
export const metadata = {

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Send Notification"
tags:
- notification
- how to
- server
---
import { TypeList } from "docs-ui"
export const metadata = {

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Create Actor Type"
tags:
- auth
- how to
- server
---
export const metadata = {
title: `How to Create an Actor Type`,
}

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Handle Password Reset Event"
tags:
- notification
- how to
- server
---
import { Prerequisites } from "docs-ui"
export const metadata = {

View File

@@ -1,3 +1,12 @@
---
sidebar_label: "Extend Cart"
tags:
- cart
- tutorial
- extend module
- server
---
import { Prerequisites } from "docs-ui"
export const metadata = {

View File

@@ -1,3 +1,12 @@
---
sidebar_label: "Extend Customer"
tags:
- customer
- tutorial
- extend module
- server
---
import { Prerequisites } from "docs-ui"
export const metadata = {

View File

@@ -1,3 +1,12 @@
---
sidebar_label: "Extend Product"
tags:
- product
- tutorial
- extend module
- server
---
import { Prerequisites } from "docs-ui"
export const metadata = {

View File

@@ -6,6 +6,7 @@ tags:
- query
- tax
- server
- how to
---
export const metadata = {

View File

@@ -5,6 +5,7 @@ tags:
- pricing
- query
- server
- how to
---
export const metadata = {

View File

@@ -1,3 +1,12 @@
---
sidebar_label: "Extend Promotion"
tags:
- promotion
- tutorial
- extend module
- server
---
import { Prerequisites } from "docs-ui"
export const metadata = {

View File

@@ -4,6 +4,7 @@ tags:
- cart
- pricing
- server
- tutorial
---
import { Github, PlaySolid } from "@medusajs/icons"

View File

@@ -1,3 +1,11 @@
---
sidebar_label: "Build Wishlist Plugin"
tags:
- product
- tutorial
- server
---
import { Github, PlaySolid } from "@medusajs/icons"
import { Prerequisites, CardList, WorkflowDiagram } from "docs-ui"

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,10 @@
---
slug: /references/auth/provider
tags:
- auth
- server
- how to
sidebar_label: Create Auth Provider
---
import { TypeList } from "docs-ui"

View File

@@ -1,5 +1,10 @@
---
slug: /references/fulfillment/provider
tags:
- fulfillment
- server
- how to
sidebar_label: Create Fulfillment Provider
---
import { TypeList } from "docs-ui"

View File

@@ -1,5 +1,10 @@
---
slug: /references/notification-provider-module
tags:
- notification
- server
- how to
sidebar_label: Create Notification Provider
---
import { TypeList } from "docs-ui"

View File

@@ -1,5 +1,10 @@
---
slug: /references/payment/provider
tags:
- payment
- server
- how to
sidebar_label: Create Payment Provider
---
import { TypeList } from "docs-ui"

View File

@@ -1,5 +1,10 @@
---
slug: /references/tax/provider
tags:
- tax
- server
- how to
sidebar_label: Create Tax Provider
---
import { TypeList } from "docs-ui"

View File

@@ -25,6 +25,7 @@ import { taxSidebar } from "./sidebars/tax.mjs"
import { troubleshootingSidebar } from "./sidebars/troubleshooting.mjs"
import { userSidebar } from "./sidebars/user.mjs"
import { examplesSidebar } from "./sidebars/examples.mjs"
import { howToTutorialsSidebar } from "./sidebars/how-to-tutorials.mjs"
/** @type {import("types").Sidebar.RawSidebar[]} */
export const sidebar = [
@@ -38,7 +39,6 @@ export const sidebar = [
title: "Overview",
},
...examplesSidebar,
...recipesSidebar,
{
type: "separator",
},
@@ -84,53 +84,7 @@ export const sidebar = [
{
type: "category",
title: "General",
children: [
{
type: "sidebar",
sidebar_id: "deployment-guides",
title: "Deployment Guides",
children: [
{
type: "link",
path: "/deployment",
title: "Overview",
},
{
type: "separator",
},
{
type: "link",
title: "Medusa Cloud",
path: "https://medusajs.com/pricing",
},
{
type: "separator",
},
{
type: "category",
title: "Self-Hosting",
children: [
{
type: "link",
path: "https://docs.medusajs.com/learn/deployment/general",
title: "General",
},
{
type: "link",
path: "/deployment/medusa-application/railway",
title: "Railway",
},
],
},
{
type: "category",
title: "Next.js Starter",
autogenerate_path: "/deployment/storefront",
},
],
},
...troubleshootingSidebar,
],
children: [...troubleshootingSidebar],
},
{
type: "category",
@@ -141,31 +95,6 @@ export const sidebar = [
path: "/admin-widget-injection-zones",
title: "Admin Widget Injection Zones",
},
{
type: "sidebar",
sidebar_id: "admin-components",
title: "Admin Components",
children: [
{
type: "link",
path: "/admin-components",
title: "Overview",
},
{
type: "separator",
},
{
type: "category",
title: "Layouts",
autogenerate_path: "/admin-components/layouts",
},
{
type: "category",
title: "Components",
autogenerate_path: "/admin-components/components",
},
],
},
],
},
{
@@ -191,4 +120,14 @@ export const sidebar = [
},
],
},
{
sidebar_id: "recipes",
title: "Recipes",
items: recipesSidebar,
},
{
sidebar_id: "how-to-tutorials",
title: "How-To & Tutorials",
items: howToTutorialsSidebar,
},
]

View File

@@ -16,7 +16,6 @@ export const apiKeySidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -34,7 +33,6 @@ export const apiKeySidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+auth",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -43,7 +41,6 @@ export const apiKeySidebar = [
{
type: "category",
title: "Storefront Guides",
initialOpen: false,
autogenerate_tags: "storefront+apiKey,-jsSdk",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
@@ -53,7 +50,6 @@ export const apiKeySidebar = [
{
type: "category",
title: "Admin Guides",
initialOpen: false,
autogenerate_tags: "admin+apiKey,-jsSdk",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
@@ -63,7 +59,6 @@ export const apiKeySidebar = [
{
type: "category",
title: "Admin User Guides",
initialOpen: false,
autogenerate_tags: "userGuide+apiKey",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
@@ -73,7 +68,6 @@ export const apiKeySidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the API Key Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -21,7 +21,6 @@ export const authSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -49,7 +48,6 @@ export const authSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+auth",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -76,7 +74,6 @@ export const authSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+auth,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -86,7 +83,6 @@ export const authSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+auth,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -96,7 +92,6 @@ export const authSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+auth",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -105,7 +100,6 @@ export const authSidebar = [
{
type: "category",
title: "Providers",
initialOpen: false,
children: [
{
type: "link",
@@ -127,7 +121,6 @@ export const authSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Auth Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const cartSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -44,7 +43,6 @@ export const cartSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+cart",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -61,7 +59,6 @@ export const cartSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+cart,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -71,7 +68,6 @@ export const cartSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+cart,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -81,7 +77,6 @@ export const cartSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+cart",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -90,7 +85,6 @@ export const cartSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Cart Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const currencySidebar = [
{
type: "sub-category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -29,7 +28,6 @@ export const currencySidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+currency",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -39,7 +37,6 @@ export const currencySidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+currency,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -49,7 +46,6 @@ export const currencySidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+currency,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -59,7 +55,6 @@ export const currencySidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+currency",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -68,7 +63,6 @@ export const currencySidebar = [
{
type: "sub-category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Currency Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const customerSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -34,7 +33,6 @@ export const customerSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+customer",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -51,7 +49,6 @@ export const customerSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+customer,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -61,7 +58,6 @@ export const customerSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+customer,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -71,7 +67,6 @@ export const customerSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+customer",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -80,7 +75,6 @@ export const customerSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Customer Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -5,11 +5,6 @@ export const examplesSidebar = [
sidebar_id: "examples",
title: "Examples",
children: [
{
type: "link",
path: "/examples",
title: "Example Snippets",
},
{
type: "ref",
path: "/recipes",

View File

@@ -21,7 +21,6 @@ export const fulfillmentSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
autogenerate_tags: "concept+fulfillment",
autogenerate_as_ref: true,
children: [
@@ -56,7 +55,6 @@ export const fulfillmentSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+fulfillment",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -78,7 +76,6 @@ export const fulfillmentSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+fulfillment,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -88,7 +85,6 @@ export const fulfillmentSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+fulfillment,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -98,7 +94,6 @@ export const fulfillmentSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+fulfillment",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -107,7 +102,6 @@ export const fulfillmentSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Fulfillment Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -0,0 +1,124 @@
/** @type {import('types').Sidebar.SidebarItem[]} */
export const howToTutorialsSidebar = [
{
type: "link",
// TODO add page
path: "/how-to-tutorials",
title: "Overview",
},
{
type: "link",
path: "/examples",
title: "Example Snippets",
},
{
type: "separator",
},
{
type: "category",
title: "How-To Guides",
children: [
{
type: "sub-category",
title: "Server",
autogenerate_tags: "howTo+server",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
},
{
type: "sub-category",
title: "Admin",
autogenerate_tags: "howTo+admin",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
children: [
{
type: "link",
path: "/admin-components",
title: "Overview",
},
{
type: "separator",
},
{
type: "category",
title: "Layouts",
autogenerate_path: "/admin-components/layouts",
},
{
type: "category",
title: "Components",
autogenerate_path: "/admin-components/components",
},
],
},
],
},
{
type: "category",
title: "Tutorials",
children: [
{
type: "link",
title: "Custom Item Pricing",
path: "/examples/guides/custom-item-price",
},
{
type: "link",
title: "Wishlist",
path: "/plugins/guides/wishlist",
description: "Learn how to build a wishlist plugin.",
},
{
type: "sub-category",
title: "Extend Modules",
autogenerate_tags: "tutorial+extendModule",
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
},
],
},
{
type: "category",
title: "Deployment",
children: [
{
type: "link",
path: "/deployment",
title: "Overview",
},
{
type: "separator",
},
{
type: "link",
title: "Medusa Cloud",
path: "https://medusajs.com/pricing",
},
{
type: "separator",
},
{
type: "category",
title: "Self-Hosting",
children: [
{
type: "link",
path: "https://docs.medusajs.com/learn/deployment/general",
title: "General",
},
{
type: "link",
path: "/deployment/medusa-application/railway",
title: "Railway",
},
],
},
{
type: "category",
title: "Next.js Starter",
autogenerate_path: "/deployment/storefront",
},
],
},
]

View File

@@ -16,7 +16,6 @@ export const inventorySidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
autogenerate_tags: "concept+inventory",
autogenerate_as_ref: true,
children: [
@@ -46,7 +45,6 @@ export const inventorySidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+inventory",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -56,7 +54,6 @@ export const inventorySidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+inventory,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -66,7 +63,6 @@ export const inventorySidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+inventory,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -76,7 +72,6 @@ export const inventorySidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+inventory",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -85,7 +80,6 @@ export const inventorySidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Inventory Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const orderSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -79,7 +78,6 @@ export const orderSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+order",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -89,7 +87,6 @@ export const orderSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+order,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -99,7 +96,6 @@ export const orderSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+order,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -109,7 +105,6 @@ export const orderSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+order",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -118,7 +113,6 @@ export const orderSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Order Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -21,7 +21,6 @@ export const paymentSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -64,7 +63,6 @@ export const paymentSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+payment",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -86,7 +84,6 @@ export const paymentSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+payment,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -96,7 +93,6 @@ export const paymentSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+payment,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -106,7 +102,6 @@ export const paymentSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+payment",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -115,7 +110,6 @@ export const paymentSidebar = [
{
type: "category",
title: "Providers",
initialOpen: false,
children: [
{
type: "link",
@@ -127,7 +121,6 @@ export const paymentSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Payment Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -10,18 +10,6 @@ export const pluginsSidebar = [
title: "Overview",
path: "/plugins",
},
{
type: "category",
title: "Guides",
children: [
{
type: "link",
title: "Wishlist",
path: "/plugins/guides/wishlist",
description: "Learn how to build a wishlist plugin.",
},
],
},
],
},
]

View File

@@ -16,7 +16,6 @@ export const pricingSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -49,7 +48,6 @@ export const pricingSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+pricing",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -59,7 +57,6 @@ export const pricingSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+pricing,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -69,7 +66,6 @@ export const pricingSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+pricing,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -79,7 +75,6 @@ export const pricingSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+pricing",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -88,7 +83,6 @@ export const pricingSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Pricing Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const productSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
autogenerate_tags: "concept+product",
autogenerate_as_ref: true,
children: [
@@ -41,7 +40,6 @@ export const productSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+product",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -68,7 +66,6 @@ export const productSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+product,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -78,7 +75,6 @@ export const productSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+product,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -88,7 +84,6 @@ export const productSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+product",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -97,7 +92,6 @@ export const productSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Product Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const promotionSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -49,7 +48,6 @@ export const promotionSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+promotion",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -66,7 +64,6 @@ export const promotionSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+promotion,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -76,7 +73,6 @@ export const promotionSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+promotion,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -86,7 +82,6 @@ export const promotionSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+promotion",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -95,7 +90,6 @@ export const promotionSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Promotion Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -1,118 +1,111 @@
/** @type {import('types').Sidebar.SidebarItem[]} */
export const recipesSidebar = [
{
type: "sidebar",
sidebar_id: "recipes",
title: "Recipes",
type: "link",
path: "/recipes",
title: "Overview",
},
{
type: "separator",
},
{
type: "link",
path: "/recipes/marketplace",
title: "Marketplace",
children: [
{
type: "link",
path: "/recipes",
title: "Overview",
},
{
type: "separator",
path: "/recipes/marketplace/examples/vendors",
title: "Example: Vendors",
},
{
type: "link",
path: "/recipes/marketplace",
title: "Marketplace",
children: [
{
type: "link",
path: "/recipes/marketplace/examples/vendors",
title: "Example: Vendors",
},
{
type: "link",
path: "/recipes/marketplace/examples/restaurant-delivery",
title: "Example: Restaurant-Delivery",
},
],
},
{
type: "link",
path: "/recipes/subscriptions",
title: "Subscriptions",
children: [
{
type: "link",
path: "/recipes/subscriptions/examples/standard",
title: "Example",
},
],
},
{
type: "link",
path: "/recipes/digital-products",
title: "Digital Products",
children: [
{
type: "link",
path: "/recipes/digital-products/examples/standard",
title: "Example",
},
],
},
{
type: "link",
path: "/recipes/erp",
title: "Integrate ERP",
children: [
{
type: "link",
path: "/recipes/erp/odoo",
title: "Example: Odoo Integration",
},
],
},
{
type: "link",
path: "/recipes/b2b",
title: "B2B",
},
{
type: "link",
path: "/recipes/commerce-automation",
title: "Commerce Automation",
children: [
{
type: "link",
path: "/recipes/commerce-automation/restock-notification",
title: "Example: Restock Notifications",
},
],
},
{
type: "link",
path: "/recipes/ecommerce",
title: "Ecommerce",
},
{
type: "link",
path: "/recipes/multi-region-store",
title: "Multi-Region Store",
},
{
type: "link",
path: "/recipes/omnichannel",
title: "Omnichannel Store",
},
{
type: "link",
path: "/recipes/oms",
title: "OMS",
},
{
type: "link",
path: "/recipes/personalized-products",
title: "Personalized Products",
},
{
type: "link",
path: "/recipes/pos",
title: "POS",
path: "/recipes/marketplace/examples/restaurant-delivery",
title: "Example: Restaurant-Delivery",
},
],
},
{
type: "link",
path: "/recipes/subscriptions",
title: "Subscriptions",
children: [
{
type: "link",
path: "/recipes/subscriptions/examples/standard",
title: "Example",
},
],
},
{
type: "link",
path: "/recipes/digital-products",
title: "Digital Products",
children: [
{
type: "link",
path: "/recipes/digital-products/examples/standard",
title: "Example",
},
],
},
{
type: "link",
path: "/recipes/erp",
title: "Integrate ERP",
children: [
{
type: "link",
path: "/recipes/erp/odoo",
title: "Example: Odoo Integration",
},
],
},
{
type: "link",
path: "/recipes/b2b",
title: "B2B",
},
{
type: "link",
path: "/recipes/commerce-automation",
title: "Commerce Automation",
children: [
{
type: "link",
path: "/recipes/commerce-automation/restock-notification",
title: "Example: Restock Notifications",
},
],
},
{
type: "link",
path: "/recipes/ecommerce",
title: "Ecommerce",
},
{
type: "link",
path: "/recipes/multi-region-store",
title: "Multi-Region Store",
},
{
type: "link",
path: "/recipes/omnichannel",
title: "Omnichannel Store",
},
{
type: "link",
path: "/recipes/oms",
title: "OMS",
},
{
type: "link",
path: "/recipes/personalized-products",
title: "Personalized Products",
},
{
type: "link",
path: "/recipes/pos",
title: "POS",
},
]

View File

@@ -16,7 +16,6 @@ export const regionSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -29,7 +28,6 @@ export const regionSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+region",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -39,7 +37,6 @@ export const regionSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+region,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -49,7 +46,6 @@ export const regionSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+region,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -59,7 +55,6 @@ export const regionSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+region",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -68,7 +63,6 @@ export const regionSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Region Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const salesChannelSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
autogenerate_tags: "concept+salesChannel",
autogenerate_as_ref: true,
children: [
@@ -36,7 +35,6 @@ export const salesChannelSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+salesChannel",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -46,7 +44,6 @@ export const salesChannelSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+salesChannel,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -56,7 +53,6 @@ export const salesChannelSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+salesChannel,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -66,7 +62,6 @@ export const salesChannelSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+salesChannel",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -75,7 +70,6 @@ export const salesChannelSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Sales Channel Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -44,19 +44,16 @@ export const sdkToolsSidebar = [
type: "category",
title: "Auth",
autogenerate_path: "/references/js_sdk/auth/Auth/methods",
initialOpen: true,
},
{
type: "category",
title: "Store",
autogenerate_path: "/references/js_sdk/store/Store/properties",
initialOpen: true,
},
{
type: "category",
title: "Admin",
autogenerate_path: "/references/js_sdk/admin/Admin/properties",
initialOpen: true,
},
],
},

View File

@@ -16,7 +16,6 @@ export const stockLocationSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
autogenerate_tags: "concept+stockLocation",
autogenerate_as_ref: true,
children: [
@@ -36,7 +35,6 @@ export const stockLocationSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+stockLocation",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -46,7 +44,6 @@ export const stockLocationSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+stockLocation,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -56,7 +53,6 @@ export const stockLocationSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+stockLocation,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -66,7 +62,6 @@ export const stockLocationSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+stockLocation",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -75,7 +70,6 @@ export const stockLocationSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Stock Location Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -16,7 +16,6 @@ export const storeSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -29,7 +28,6 @@ export const storeSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+store",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -39,7 +37,6 @@ export const storeSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+store,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -49,7 +46,6 @@ export const storeSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+store,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -59,7 +55,6 @@ export const storeSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+store",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -68,7 +63,6 @@ export const storeSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Store Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -21,7 +21,6 @@ export const taxSidebar = [
{
type: "category",
title: "Concepts",
initialOpen: false,
children: [
{
type: "link",
@@ -44,7 +43,6 @@ export const taxSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+tax",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -61,7 +59,6 @@ export const taxSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+tax,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -71,7 +68,6 @@ export const taxSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+tax,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -81,7 +77,6 @@ export const taxSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+tax",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -90,7 +85,6 @@ export const taxSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the Tax Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -22,7 +22,6 @@ export const userSidebar = [
type: "category",
title: "Server Guides",
autogenerate_tags: "server+user",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -39,7 +38,6 @@ export const userSidebar = [
type: "category",
title: "Storefront Guides",
autogenerate_tags: "storefront+user,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -49,7 +47,6 @@ export const userSidebar = [
type: "category",
title: "Admin Guides",
autogenerate_tags: "admin+user,-jsSdk",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -59,7 +56,6 @@ export const userSidebar = [
type: "category",
title: "Admin User Guides",
autogenerate_tags: "userGuide+user",
initialOpen: false,
autogenerate_as_ref: true,
sort_sidebar: "alphabetize",
description:
@@ -68,7 +64,6 @@ export const userSidebar = [
{
type: "category",
title: "References",
initialOpen: false,
description:
"Find references for tools and resources related to the User Module, such as data models, methods, and more. These are useful for your customizations.",
children: [

View File

@@ -92,7 +92,6 @@ export default async function getCoreFlowsRefSidebarChildren(): Promise<
title: directory.name.replaceAll("_", " "),
children: [],
loaded: true,
initialOpen: false,
}
if (workflowItems.length) {

View File

@@ -29,7 +29,6 @@ export default function numberSidebarItems(
numberedItems.push(
item.type === "category"
? {
initialOpen: false,
...item,
title: item.chapterTitle,
}
@@ -38,7 +37,6 @@ export default function numberSidebarItems(
title: item.chapterTitle,
children: [],
loaded: true,
initialOpen: false,
}
)

View File

@@ -18,7 +18,7 @@ export const SidebarItemCategory = ({
}: SidebarItemCategoryProps) => {
const [showLoading, setShowLoading] = useState(false)
const [open, setOpen] = useState(
item.initialOpen !== undefined ? item.initialOpen : true
item.initialOpen !== undefined ? item.initialOpen : false
)
const {
isItemActive,

View File

@@ -311,6 +311,7 @@ export const SidebarProvider = ({
findSidebarItem({
sidebarItems: s.items,
item: { type: "link", path: activePath, title: "" },
compareTitles: false,
}) !== undefined
) || sidebars[0]
)

View File

@@ -68,7 +68,7 @@ export const findSidebarItem = ({
}): Sidebar.SidebarItem | undefined => {
let foundItem: Sidebar.SidebarItem | undefined
sidebarItems.some((i) => {
if (areSidebarItemsEqual({ itemA: i, itemB: item })) {
if (areSidebarItemsEqual({ itemA: i, itemB: item, compareTitles })) {
foundItem = i
} else if (checkChildren && "children" in i && i.children) {
foundItem = findSidebarItem({

View File

@@ -3,6 +3,10 @@ export const auth = [
"title": "Reset Password",
"path": "https://docs.medusajs.com/user-guide/reset-password"
},
{
"title": "Create Actor Type",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/create-actor-type"
},
{
"title": "Log-out Customer in Storefront",
"path": "https://docs.medusajs.com/resources/storefront-development/customers/log-out"
@@ -27,6 +31,10 @@ export const auth = [
"title": "Third-Party or Social Login in Storefront",
"path": "https://docs.medusajs.com/resources/storefront-development/customers/third-party-login"
},
{
"title": "Create Auth Provider",
"path": "https://docs.medusajs.com/resources/references/auth/provider"
},
{
"title": "setAuthAppMetadataStep",
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/steps/setAuthAppMetadataStep"

View File

@@ -0,0 +1,6 @@
export const cache = [
{
"title": "Create Cache Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/cache/create"
}
]

View File

@@ -1,4 +1,8 @@
export const cart = [
{
"title": "Extend Cart",
"path": "https://docs.medusajs.com/resources/commerce-modules/cart/extend"
},
{
"title": "Implement Custom Line Item Pricing in Medusa",
"path": "https://docs.medusajs.com/resources/examples/guides/custom-item-price"

View File

@@ -11,6 +11,10 @@ export const customer = [
"title": "Customers Overview",
"path": "https://docs.medusajs.com/user-guide/customers"
},
{
"title": "Extend Customer",
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
},
{
"title": "Manage Customer Addresses in Storefront",
"path": "https://docs.medusajs.com/resources/storefront-development/customers/addresses"

View File

@@ -0,0 +1,6 @@
export const event = [
{
"title": "Create Event Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/event/create"
}
]

View File

@@ -0,0 +1,18 @@
export const extendModule = [
{
"title": "Extend Cart",
"path": "https://docs.medusajs.com/resources/commerce-modules/cart/extend"
},
{
"title": "Extend Customer",
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
},
{
"title": "Extend Product",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/extend"
},
{
"title": "Extend Promotion",
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
}
]

View File

@@ -267,6 +267,10 @@ export const fulfillment = [
"title": "createLocationFulfillmentSetWorkflow",
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/createLocationFulfillmentSetWorkflow"
},
{
"title": "Create Fulfillment Provider",
"path": "https://docs.medusajs.com/resources/references/fulfillment/provider"
},
{
"title": "fulfillment",
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/fulfillment"

View File

@@ -0,0 +1,50 @@
export const howTo = [
{
"title": "Create Cache Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/cache/create"
},
{
"title": "Create Event Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/event/create"
},
{
"title": "Send Notification",
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification"
},
{
"title": "Create Actor Type",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/create-actor-type"
},
{
"title": "Handle Password Reset Event",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/reset-password"
},
{
"title": "Get Variant Prices",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price"
},
{
"title": "Get Variant Price with Taxes",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price-with-taxes"
},
{
"title": "Create Auth Provider",
"path": "https://docs.medusajs.com/resources/references/auth/provider"
},
{
"title": "Create Fulfillment Provider",
"path": "https://docs.medusajs.com/resources/references/fulfillment/provider"
},
{
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
},
{
"title": "Create Payment Provider",
"path": "https://docs.medusajs.com/resources/references/payment/provider"
},
{
"title": "Create Tax Provider",
"path": "https://docs.medusajs.com/resources/references/tax/provider"
}
]

View File

@@ -1,40 +1,45 @@
export * from "./user-guide.js"
export * from "./fulfillment.js"
export * from "./payment.js"
export * from "./cache.js"
export * from "./server.js"
export * from "./how-to.js"
export * from "./product.js"
export * from "./event.js"
export * from "./pricing.js"
export * from "./promotion.js"
export * from "./product.js"
export * from "./auth.js"
export * from "./user.js"
export * from "./api-key.js"
export * from "./auth.js"
export * from "./notification.js"
export * from "./workflow.js"
export * from "./stock-location.js"
export * from "./store.js"
export * from "./region.js"
export * from "./sales-channel.js"
export * from "./user.js"
export * from "./store.js"
export * from "./currency.js"
export * from "./cart.js"
export * from "./tax.js"
export * from "./tutorial.js"
export * from "./extend-module.js"
export * from "./concept.js"
export * from "./query.js"
export * from "./storefront.js"
export * from "./order.js"
export * from "./stripe.js"
export * from "./example.js"
export * from "./product-collection.js"
export * from "./product-category.js"
export * from "./publishable-api-key.js"
export * from "./step.js"
export * from "./event-bus.js"
export * from "./remote-query.js"
export * from "./link.js"
export * from "./locking.js"
export * from "./js-sdk.js"
export * from "./customer.js"
export * from "./inventory.js"
export * from "./cart.js"
export * from "./server.js"
export * from "./query.js"
export * from "./concept.js"
export * from "./example.js"
export * from "./publishable-api-key.js"
export * from "./checkout.js"
export * from "./product-collection.js"
export * from "./step.js"
export * from "./product-category.js"
export * from "./link.js"
export * from "./remote-query.js"
export * from "./locking.js"
export * from "./file.js"
export * from "./js-sdk.js"
export * from "./event-bus.js"
export * from "./admin.js"
export * from "./storefront.js"
export * from "./checkout.js"
export * from "./logger.js"
export * from "./tax.js"
export * from "./notification.js"
export * from "./stripe.js"
export * from "./order.js"
export * from "./admin.js"

View File

@@ -1,4 +1,12 @@
export const notification = [
{
"title": "Send Notification",
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification"
},
{
"title": "Handle Password Reset Event",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/reset-password"
},
{
"title": "notifyOnFailureStep",
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/steps/notifyOnFailureStep"
@@ -18,5 +26,9 @@ export const notification = [
{
"title": "notification",
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/notification"
},
{
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
}
]

View File

@@ -214,5 +214,9 @@ export const payment = [
{
"title": "payment",
"path": "https://docs.medusajs.com/resources/references/js-sdk/store/payment"
},
{
"title": "Create Payment Provider",
"path": "https://docs.medusajs.com/resources/references/payment/provider"
}
]

View File

@@ -51,6 +51,10 @@ export const product = [
"title": "Inventory Kits",
"path": "https://docs.medusajs.com/resources/commerce-modules/inventory/inventory-kit"
},
{
"title": "Extend Product",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/extend"
},
{
"title": "Get Variant Prices",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price"
@@ -59,6 +63,10 @@ export const product = [
"title": "Get Variant Price with Taxes",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price-with-taxes"
},
{
"title": "Build Wishlist Plugin",
"path": "https://docs.medusajs.com/resources/plugins/guides/wishlist"
},
{
"title": "Implement Express Checkout with Medusa",
"path": "https://docs.medusajs.com/resources/storefront-development/guides/express-checkout"

View File

@@ -15,6 +15,10 @@ export const promotion = [
"title": "Promotions Overview",
"path": "https://docs.medusajs.com/user-guide/promotions"
},
{
"title": "Extend Promotion",
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
},
{
"title": "getActionsToComputeFromPromotionsStep",
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/steps/getActionsToComputeFromPromotionsStep"

View File

@@ -1,4 +1,36 @@
export const server = [
{
"title": "Create Cache Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/cache/create"
},
{
"title": "Create Event Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/event/create"
},
{
"title": "Send Notification",
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification"
},
{
"title": "Create Actor Type",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/create-actor-type"
},
{
"title": "Handle Password Reset Event",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/reset-password"
},
{
"title": "Extend Cart",
"path": "https://docs.medusajs.com/resources/commerce-modules/cart/extend"
},
{
"title": "Extend Customer",
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
},
{
"title": "Extend Product",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/extend"
},
{
"title": "Get Variant Prices",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price"
@@ -7,8 +39,36 @@ export const server = [
"title": "Get Variant Price with Taxes",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/guides/price-with-taxes"
},
{
"title": "Extend Promotion",
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
},
{
"title": "Implement Custom Line Item Pricing in Medusa",
"path": "https://docs.medusajs.com/resources/examples/guides/custom-item-price"
},
{
"title": "Build Wishlist Plugin",
"path": "https://docs.medusajs.com/resources/plugins/guides/wishlist"
},
{
"title": "Create Auth Provider",
"path": "https://docs.medusajs.com/resources/references/auth/provider"
},
{
"title": "Create Fulfillment Provider",
"path": "https://docs.medusajs.com/resources/references/fulfillment/provider"
},
{
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
},
{
"title": "Create Payment Provider",
"path": "https://docs.medusajs.com/resources/references/payment/provider"
},
{
"title": "Create Tax Provider",
"path": "https://docs.medusajs.com/resources/references/tax/provider"
}
]

View File

@@ -166,5 +166,9 @@ export const tax = [
{
"title": "taxRegion",
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/taxRegion"
},
{
"title": "Create Tax Provider",
"path": "https://docs.medusajs.com/resources/references/tax/provider"
}
]

View File

@@ -0,0 +1,26 @@
export const tutorial = [
{
"title": "Extend Cart",
"path": "https://docs.medusajs.com/resources/commerce-modules/cart/extend"
},
{
"title": "Extend Customer",
"path": "https://docs.medusajs.com/resources/commerce-modules/customer/extend"
},
{
"title": "Extend Product",
"path": "https://docs.medusajs.com/resources/commerce-modules/product/extend"
},
{
"title": "Extend Promotion",
"path": "https://docs.medusajs.com/resources/commerce-modules/promotion/extend"
},
{
"title": "Implement Custom Line Item Pricing in Medusa",
"path": "https://docs.medusajs.com/resources/examples/guides/custom-item-price"
},
{
"title": "Build Wishlist Plugin",
"path": "https://docs.medusajs.com/resources/plugins/guides/wishlist"
}
]

View File

@@ -9,6 +9,8 @@ const authProviderOptions: FormattingOptionsType = {
reflectionDescription: `In this document, youll learn how to create an auth provider module and the methods you must implement in its main service.`,
frontmatterData: {
slug: "/references/auth/provider",
tags: ["auth", "server", "how to"],
sidebar_label: "Create Auth Provider",
},
reflectionTitle: {
fullReplacement: "How to Create an Auth Provider Module",

View File

@@ -9,6 +9,8 @@ const fulfillmentProviderOptions: FormattingOptionsType = {
reflectionDescription: `In this document, youll learn how to create a fulfillment provider module and the methods you must implement in its main service.`,
frontmatterData: {
slug: "/references/fulfillment/provider",
tags: ["fulfillment", "server", "how to"],
sidebar_label: "Create Fulfillment Provider",
},
reflectionTitle: {
fullReplacement: "How to Create a Fulfillment Provider Module",

View File

@@ -9,6 +9,8 @@ const notificationOptions: FormattingOptionsType = {
reflectionDescription: `In this document, youll learn how to create a notification provider module and the methods you must implement in it.`,
frontmatterData: {
slug: "/references/notification-provider-module",
tags: ["notification", "server", "how to"],
sidebar_label: "Create Notification Provider",
},
reflectionTitle: {
fullReplacement: "How to Create a Notification Provider Module",

View File

@@ -9,6 +9,8 @@ const paymentProviderOptions: FormattingOptionsType = {
reflectionDescription: `In this document, youll learn how to create a Payment Provider to be used with the Payment Module.`,
frontmatterData: {
slug: "/references/payment/provider",
tags: ["payment", "server", "how to"],
sidebar_label: "Create Payment Provider",
},
reflectionTitle: {
fullReplacement: "How to Create a Payment Provider",

View File

@@ -8,6 +8,8 @@ const taxProviderOptions: FormattingOptionsType = {
reflectionDescription: `In this document, youll learn how to create a tax provider to use with the Tax Module, and the methods to implement.`,
frontmatterData: {
slug: "/references/tax/provider",
tags: ["tax", "server", "how to"],
sidebar_label: "Create Tax Provider",
},
reflectionTitle: {
fullReplacement: "How to Create a Tax Provider",

View File

@@ -3,8 +3,8 @@ import { MarkdownTheme } from "../../theme.js"
import { stringify } from "yaml"
import { replaceTemplateVariables } from "../../utils/reflection-template-strings.js"
import { Reflection } from "typedoc"
import { FrontmatterData } from "types"
import { getTagComments, getTagsAsArray, getUniqueStrArray } from "utils"
import { FrontmatterData, Tag } from "types"
import { getTagComments, getTagsAsArray } from "utils"
export default function (theme: MarkdownTheme) {
Handlebars.registerHelper("frontmatter", function (this: Reflection) {
@@ -30,9 +30,7 @@ export default function (theme: MarkdownTheme) {
resolvedFrontmatter["tags"]?.push(...tagContent)
})
if (resolvedFrontmatter["tags"]?.length) {
resolvedFrontmatter["tags"] = getUniqueStrArray(
resolvedFrontmatter["tags"]
)
resolvedFrontmatter["tags"] = getUniqueTags(resolvedFrontmatter["tags"])
}
return `---\n${stringify(resolvedFrontmatter).trim()}\n---\n\n`
@@ -57,3 +55,14 @@ function resolveFrontmatterVariables(
return tempFrontmatterData
}
function getUniqueTags(tags: Tag[]): Tag[] {
const tagsMap = new Map<string, Tag>()
tags.forEach((tag) => {
const tagName = typeof tag === "string" ? tag : tag.name
tagsMap.set(tagName, tag)
})
return Array.from(tagsMap.values())
}

View File

@@ -50,11 +50,18 @@ export type FormattingOptionsType = {
[k: string]: FormattingOptionType
}
export type Tag =
| string
| {
name: string
label: string
}
export type FrontmatterData = {
slug?: string
sidebar_label?: string
displayed_sidebar?: string
tags?: string[]
tags?: Tag[]
[k: string]: unknown
}