diff --git a/docs/cortex-platform/overview.mdx b/docs/cortex-platform/overview.mdx
new file mode 100644
index 00000000..bbd4bbd2
--- /dev/null
+++ b/docs/cortex-platform/overview.mdx
@@ -0,0 +1,5 @@
+---
+title: Overview
+description: Cortex Platform Overview.
+slug: /cortex-platform
+---
\ No newline at end of file
diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx
index 7f160110..6cae044e 100644
--- a/docs/quickstart.mdx
+++ b/docs/quickstart.mdx
@@ -14,10 +14,10 @@ import TabItem from "@theme/TabItem";
## Installation
```sh
-# Install using Brew for Mac and Linux
+# Install using Brew for Mac
brew install cortexso
-# Install using winger for Windows
+# Install using Winget for Windows
winget install cortexso
# Install using Sudo for Linux
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 019cb87f..0068e0ba 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -222,9 +222,10 @@ const config: Config = {
};
},
[
- "@scalar/docusaurus",
+ "./src/plugins/scalar/index.ts",
{
label: "API Reference",
+ showNavLink: false,
route: "/api-reference",
configuration: {
spec: {
@@ -367,12 +368,21 @@ const config: Config = {
items: [
{
type: "doc",
- position: "left",
+ position: "right",
docId: "overview",
label: "Docs",
},
+ {
+ to: "/api-reference",
+ label: "API Reference",
+ position: "right",
+ },
// { to: "/docs/cli", label: "CLI", position: "left" },
- { to: "/models", label: "Models", position: "right" },
+ {
+ type: "custom-productMegaMenu",
+ position: "left",
+ },
+ { to: "/models", label: "Models", position: "left" },
{
type: "search",
position: "right",
diff --git a/sidebars.ts b/sidebars.ts
index ab2a7781..e5ba8877 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -167,6 +167,14 @@ const sidebars: SidebarsConfig = {
},
{ type: "doc", id: "troubleshooting", label: "Troubleshooting" },
],
+ platform: [
+ {
+ type: "html",
+ value: "GET STARTED",
+ className: "sidebar-divider",
+ },
+ "cortex-platform/overview",
+ ]
};
export default sidebars;
diff --git a/src/components/NavbarMegaMenu/index.tsx b/src/components/NavbarMegaMenu/index.tsx
new file mode 100644
index 00000000..e1166262
--- /dev/null
+++ b/src/components/NavbarMegaMenu/index.tsx
@@ -0,0 +1,111 @@
+import React from "react";
+import { motion } from "framer-motion";
+import Link from "@docusaurus/Link";
+
+const transition = {
+ type: "spring",
+ mass: 0.5,
+ damping: 11.5,
+ stiffness: 100,
+ restDelta: 0.001,
+ restSpeed: 0.001,
+};
+
+export const MenuItem = ({
+ setActive,
+ active,
+ item,
+ children,
+}: {
+ setActive: (item: string) => void;
+ active: string | null;
+ item: string;
+ children?: React.ReactNode;
+}) => {
+ return (
+
setActive(item)} className="relative ">
+
+ {item}
+
+ {active !== null && (
+
+ {active === item && (
+
+
+
+ {children}
+
+
+
+ )}
+
+ )}
+
+ );
+};
+
+export const Menu = ({
+ setActive,
+ children,
+}: {
+ setActive: (item: string | null) => void;
+ children: React.ReactNode;
+}) => {
+ return (
+ setActive(null)} // resets the state
+ >
+ {children}
+
+ );
+};
+
+export const ProductItem = ({
+ title,
+ description,
+ href,
+ src,
+}: {
+ title: string;
+ description: string;
+ href: string;
+ src: string;
+}) => {
+ return (
+
+
+
+ {title}
+
+
+ {description}
+
+
+
+ );
+};
+
+export const HoveredLink = ({ children, ...rest }: any) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/src/components/ProductsMenu/index.tsx b/src/components/ProductsMenu/index.tsx
new file mode 100644
index 00000000..8f674ede
--- /dev/null
+++ b/src/components/ProductsMenu/index.tsx
@@ -0,0 +1,59 @@
+import { HoveredLink, Menu, MenuItem, ProductItem } from "../NavbarMegaMenu";
+import { useState } from "react";
+
+const ProductsMenu = () => {
+ const [active, setActive] = useState(null);
+
+ return (
+
+ );
+};
+
+export default ProductsMenu;
diff --git a/src/plugins/scalar/index.ts b/src/plugins/scalar/index.ts
new file mode 100644
index 00000000..40419dbb
--- /dev/null
+++ b/src/plugins/scalar/index.ts
@@ -0,0 +1,62 @@
+import type { LoadContext, Plugin } from "@docusaurus/types";
+import type { ReferenceProps } from "@scalar/api-reference-react";
+
+export type ScalarOptions = {
+ label: string;
+ route: string;
+ showNavLink?: boolean;
+} & ReferenceProps;
+
+/**
+ * Used to set default options from the user-provided options
+ * This is also useful to ensure backwards compatibility with older configs that don't have the new options
+ */
+const createDefaultScalarOptions = (options: ScalarOptions): ScalarOptions => ({
+ showNavLink: true,
+ ...options,
+});
+
+/**
+ * Scalar's Docusaurus plugin for Api References
+ */
+function ScalarDocusaurusCustomPlugin(
+ context: LoadContext,
+ options: ScalarOptions
+): Plugin {
+ const defaultOptions = createDefaultScalarOptions(options);
+
+ return {
+ name: "@scalar/docusaurus",
+
+ async loadContent() {
+ return defaultOptions;
+ },
+
+ async contentLoaded({ content, actions }) {
+ const { addRoute } = actions;
+
+ // If showNavLink is true, add a link to the navbar
+ if (defaultOptions.showNavLink) {
+ (
+ context.siteConfig.themeConfig.navbar as {
+ items: Record[];
+ }
+ ).items.push({
+ to: defaultOptions.route ?? "/scalar",
+ label: defaultOptions.label ?? "Scalar",
+ position: "left",
+ });
+ }
+
+ addRoute({
+ path: defaultOptions.route,
+ component: "@scalar/docusaurus/dist/ScalarDocusaurus",
+ // Provide the path to the loaded spec as a prop to your component
+ exact: true,
+ ...content,
+ });
+ },
+ };
+}
+
+export default ScalarDocusaurusCustomPlugin;
\ No newline at end of file
diff --git a/src/theme/NavbarItem/ComponentTypes.tsx b/src/theme/NavbarItem/ComponentTypes.tsx
index 05e28f72..4a3866a3 100644
--- a/src/theme/NavbarItem/ComponentTypes.tsx
+++ b/src/theme/NavbarItem/ComponentTypes.tsx
@@ -1,7 +1,9 @@
import ComponentTypes from "@theme-original/NavbarItem/ComponentTypes";
import SocialNavbar from "@site/src/components/SocialNavbar";
+import ProductsMenu from "@site/src/components/ProductsMenu";
export default {
...ComponentTypes,
"custom-socialNavbar": SocialNavbar,
+ "custom-productMegaMenu": ProductsMenu,
};
diff --git a/static/openapi/jan.json b/static/openapi/jan.json
index bfd6ec3a..21d62155 100644
--- a/static/openapi/jan.json
+++ b/static/openapi/jan.json
@@ -1216,7 +1216,7 @@
],
"x-tagGroups": [
{
- "name": "Endpoints",
+ "name": "CORTEX.CPP",
"tags": [
"Inference",
"Embeddings",
@@ -1228,7 +1228,7 @@
]
},
{
- "name": "Assistants",
+ "name": "CORTEX PLATFORM",
"tags": [
"Assistants",
"Messages",