diff --git a/astro.config.mjs b/astro.config.mjs
index ff6b14a5..aa7b0c4c 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -53,43 +53,44 @@ export default defineConfig({
baseUrl: "https://github.com/RoboStack/robostack.github.io/edit/main/",
},
customCss: ["./src/styles/custom.css"],
- routeMiddleware: "./src/routeData.ts",
components: {
Header: "./src/components/Header.astro",
- Sidebar: "./src/components/Sidebar.astro",
SiteTitle: "./src/components/SiteTitle.astro",
PageTitle: "./src/components/PageTitle.astro",
},
sidebar: [
- // One top-level group per header tab (src/components/Header.astro);
- // the Sidebar override shows only the current page's group, so these
- // group labels never render. List each page in exactly one group, the
- // one whose tab nav.ts highlights for it, so the sidebar and the
- // header tabs never disagree. Slugs are set explicitly in each page's
- // frontmatter to keep the published mixed-case URLs
- // (`GettingStarted.html`, `FAQ.html`, ...).
+ // The sidebar is the Docs section: the frontpage and the distro table
+ // pages have none. Every page listed here also has to match the Docs
+ // tab's pattern in src/data/nav.ts, so the header highlights it.
+ // Slugs are set explicitly in each page's frontmatter to keep the
+ // published mixed-case URLs (`GettingStarted.html`, `FAQ.html`, ...).
{
- label: "Docs",
+ label: "Use RoboStack",
items: [
{ label: "Getting Started", slug: "GettingStarted" },
{
- label: "Alternative to Pixi",
+ label: "Alternatives to Pixi",
items: [
{ label: "Micromamba", slug: "micromamba" },
{ label: "Conda", slug: "conda" },
],
},
{ label: "JupyterRos", slug: "JupyterRos" },
- { label: "FAQ", slug: "FAQ" },
- { label: "RoboStack monorepo", slug: "Monorepo" },
],
},
{
- label: "Community",
+ label: "Get help",
items: [
- { label: "Community Meeting", slug: "CommunityMeeting" },
{ label: "Support", slug: "support" },
+ { label: "Community Meeting", slug: "CommunityMeeting" },
+ { label: "FAQ", slug: "FAQ" },
+ ],
+ },
+ {
+ label: "Contribute",
+ items: [
{ label: "Contributing", slug: "Contributing" },
+ { label: "RoboStack monorepo", slug: "Monorepo" },
],
},
],
diff --git a/src/components/Header.astro b/src/components/Header.astro
index a2dcd859..6d1c60f8 100644
--- a/src/components/Header.astro
+++ b/src/components/Header.astro
@@ -16,8 +16,7 @@ import { NAV_TABS as tabs } from "../data/nav";
* the logo; from that breakpoint up they move next to the logo in the
* single header row. The row heights come from `--sl-nav-height`, set
* per breakpoint in custom.css; the logo row keeps the original height via
- * `--rs-nav-row`. The tabs live in src/data/nav.ts, shared with the Sidebar
- * override.
+ * `--rs-nav-row`. The tabs live in src/data/nav.ts.
*/
const shouldRenderSearch =
diff --git a/src/components/Sidebar.astro b/src/components/Sidebar.astro
deleted file mode 100644
index cceaeb0f..00000000
--- a/src/components/Sidebar.astro
+++ /dev/null
@@ -1,35 +0,0 @@
----
-import MobileMenuFooter from "virtual:starlight/components/MobileMenuFooter";
-import SidebarPersister from "@astrojs/starlight/components/SidebarPersister.astro";
-import SidebarSublist from "@astrojs/starlight/components/SidebarSublist.astro";
-
-import { NAV_TABS } from "../data/nav";
-
-/**
- * Override of Starlight's Sidebar: the header tabs are the top level of the
- * navigation, so the sidebar only shows the pages of the current section.
- * The section comes from the shared nav.ts patterns - the same ones that
- * pick the active header tab - and names the matching top-level group in
- * `astro.config.mjs`. Pages outside any section fall back to the full
- * sidebar. The distro table pages opt out of the sidebar entirely; their
- * in-page distro tabs are the sub-navigation.
- */
-
-const { sidebar } = Astro.locals.starlightRoute;
-const pathname = Astro.url.pathname;
-
-const tab = NAV_TABS.find((t) => t.match.test(pathname));
-const section = sidebar.find(
- (entry) => entry.type === "group" && entry.label === tab?.label,
-);
-
-const entries = section && section.type === "group" ? section.entries : sidebar;
----
-
-