From c3976d7544a8d3737cab0a0efcede6f9129023b7 Mon Sep 17 00:00:00 2001
From: Maximilian Kaske <56969857+mxkaske@users.noreply.github.com>
Date: Sun, 31 May 2026 19:26:53 +0200
Subject: [PATCH] chore: docs improvements starlight (#2214)
* chore: docs improvements starlight
* fix: build
* fix: review
---
apps/docs/astro.config.mjs | 33 +++-
apps/docs/src/components/Head.astro | 6 +-
apps/docs/src/components/Header.astro | 176 +++++++++---------
apps/docs/src/components/Hero.astro | 45 -----
apps/docs/src/components/SiteTitle.astro | 2 +-
apps/docs/src/content/docs/404.md | 1 +
.../concept/uptime-calculation-and-values.mdx | 1 +
.../docs/guides/how-to-use-react-widget.mdx | 1 +
apps/docs/src/content/docs/index.mdx | 7 +-
.../src/content/docs/monitoring/overview.mdx | 59 ------
.../content/docs/reference/cli-reference.mdx | 1 +
.../content/docs/reference/maintenance.mdx | 90 +++++++++
apps/docs/src/custom.css | 6 +-
apps/docs/src/global.css | 142 +++++++-------
.../src/starlight-component-overrides.d.ts | 5 +
15 files changed, 297 insertions(+), 278 deletions(-)
delete mode 100644 apps/docs/src/components/Hero.astro
delete mode 100644 apps/docs/src/content/docs/monitoring/overview.mdx
create mode 100644 apps/docs/src/content/docs/reference/maintenance.mdx
create mode 100644 apps/docs/src/starlight-component-overrides.d.ts
diff --git a/apps/docs/astro.config.mjs b/apps/docs/astro.config.mjs
index bec61616..efa4d106 100644
--- a/apps/docs/astro.config.mjs
+++ b/apps/docs/astro.config.mjs
@@ -50,8 +50,6 @@ export default defineConfig({
components: {
SiteTitle: "./src/components/SiteTitle.astro",
Head: "./src/components/Head.astro",
- Hero: "./src/components/Hero.astro",
- Footer: "./src/components/Footer.astro",
Header: "./src/components/Header.astro",
},
editLink: {
@@ -68,6 +66,10 @@ export default defineConfig({
{
label: "Concepts",
items: [
+ {
+ label: "Overview",
+ slug: "concept/getting-started",
+ },
{
label: "About Uptime monitoring",
slug: "concept/uptime-monitoring",
@@ -93,6 +95,10 @@ export default defineConfig({
{
label: "Tutorials",
items: [
+ {
+ label: "Overview",
+ slug: "tutorial/getting-started",
+ },
{
label: "How to create a monitor",
slug: "tutorial/how-to-create-monitor",
@@ -135,6 +141,10 @@ export default defineConfig({
{
label: "Guides",
items: [
+ {
+ label: "Overview",
+ slug: "guides/getting-started",
+ },
{
label: "Monitor your MCP Server",
slug: "guides/how-to-monitor-mcp-server",
@@ -167,6 +177,10 @@ export default defineConfig({
label: "Self host Status Page only",
slug: "guides/self-host-status-page-only",
},
+ {
+ label: "Deploy a status page on Cloudflare Pages",
+ slug: "guides/how-deploy-status-page-cf-pages",
+ },
{
label: "How to translate your status page",
slug: "guides/how-to-translate-status-page",
@@ -189,6 +203,7 @@ export default defineConfig({
},
{
label: "Reference",
+ collapsed: true,
items: [
{
label: "API Reference V1 - Deprecated",
@@ -254,6 +269,10 @@ export default defineConfig({
label: "Status Report",
slug: "reference/status-report",
},
+ {
+ label: "Maintenance",
+ slug: "reference/maintenance",
+ },
{
label: "Subscriber",
slug: "reference/subscriber",
@@ -264,6 +283,16 @@ export default defineConfig({
},
],
},
+ {
+ label: "Help",
+ collapsed: true,
+ items: [
+ {
+ label: "Need help?",
+ slug: "help/support",
+ },
+ ],
+ },
],
plugins: [
starlightLinksValidator({
diff --git a/apps/docs/src/components/Head.astro b/apps/docs/src/components/Head.astro
index 7a19a53d..3ed2c57d 100644
--- a/apps/docs/src/components/Head.astro
+++ b/apps/docs/src/components/Head.astro
@@ -3,10 +3,10 @@ import { NEXT_PUBLIC_OPENPANEL_CLIENT_ID } from "astro:env/client";
import Default from "@astrojs/starlight/components/Head.astro";
import { OpenPanelComponent } from "@openpanel/astro";
-const title = Astro.locals.starlightRoute.entry.data.title;
-const { siteTitle } = Astro.locals.starlightRoute;
+const title = Astro.locals.starlightRoute.entry.data.title ?? "openstatus docs";
+const description = Astro.locals.starlightRoute.entry.data.description ?? "";
-const url = `https://openstatus.dev/api/og?title=${encodeURIComponent(siteTitle)}&description=${encodeURIComponent(title)}`;
+const url = `https://openstatus.dev/api/og?title=${encodeURIComponent(title)}&description=${encodeURIComponent(description)}&category=documentation&footer=docs.openstatus.dev`;
---