From 6d458d46d5d8d38c8eae4aa557db986079100d52 Mon Sep 17 00:00:00 2001 From: FireGiant Docs Date: Fri, 20 Mar 2026 18:18:37 -0700 Subject: [PATCH 1/2] Boost schema reference pages in Pagefind results --- astro.config.mjs | 3 +++ .../starlight/MarkdownContent.astro | 11 +++++++++ src/components/starlight/PageTitle.astro | 23 +++++++++++++++++++ src/utils/pagefind.ts | 8 +++++++ 4 files changed, 45 insertions(+) create mode 100644 src/components/starlight/MarkdownContent.astro create mode 100644 src/components/starlight/PageTitle.astro create mode 100644 src/utils/pagefind.ts diff --git a/astro.config.mjs b/astro.config.mjs index 63295c2..ad1267d 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -45,6 +45,9 @@ export default defineConfig({ components: { // Override the default `Head` component to add our page tracking. Head: './src/components/starlight/Head.astro', + // Boost schema reference pages in Pagefind results. + MarkdownContent: './src/components/starlight/MarkdownContent.astro', + PageTitle: './src/components/starlight/PageTitle.astro', // Override the default `SiteTitle` component to link to both firegiant.com and docs.firegiant.com. SiteTitle: './src/components/starlight/SiteTitle.astro', }, diff --git a/src/components/starlight/MarkdownContent.astro b/src/components/starlight/MarkdownContent.astro new file mode 100644 index 0000000..8c0aa59 --- /dev/null +++ b/src/components/starlight/MarkdownContent.astro @@ -0,0 +1,11 @@ +--- +import '@astrojs/starlight/style/markdown.css'; +import { PRIORITY_PAGEFIND_CONTENT_WEIGHT, isPrioritySearchSlug } from '../../utils/pagefind'; + +const slug = Astro.locals.starlightRoute.entry.slug; +const dataAttributes = isPrioritySearchSlug(slug) + ? { 'data-pagefind-weight': PRIORITY_PAGEFIND_CONTENT_WEIGHT } + : {}; +--- + +
diff --git a/src/components/starlight/PageTitle.astro b/src/components/starlight/PageTitle.astro new file mode 100644 index 0000000..a8265fa --- /dev/null +++ b/src/components/starlight/PageTitle.astro @@ -0,0 +1,23 @@ +--- +import { PRIORITY_PAGEFIND_TITLE_WEIGHT, isPrioritySearchSlug } from '../../utils/pagefind'; + +const PAGE_TITLE_ID = '_top'; +const slug = Astro.locals.starlightRoute.entry.slug; +const dataAttributes = isPrioritySearchSlug(slug) + ? { 'data-pagefind-weight': PRIORITY_PAGEFIND_TITLE_WEIGHT } + : {}; +--- + +

{Astro.locals.starlightRoute.entry.data.title}

+ + diff --git a/src/utils/pagefind.ts b/src/utils/pagefind.ts new file mode 100644 index 0000000..e261089 --- /dev/null +++ b/src/utils/pagefind.ts @@ -0,0 +1,8 @@ +const PRIORITY_SEARCH_PREFIXES = ['wix/schema/', 'firegiant/schema/'] as const; + +export const PRIORITY_PAGEFIND_CONTENT_WEIGHT = '8'; +export const PRIORITY_PAGEFIND_TITLE_WEIGHT = '10'; + +export function isPrioritySearchSlug(slug: string): boolean { + return PRIORITY_SEARCH_PREFIXES.some((prefix) => slug.startsWith(prefix)); +} From f574e83af2e8a7a34b736a24419af663fa28cfbe Mon Sep 17 00:00:00 2001 From: FireGiant Docs Date: Fri, 20 Mar 2026 18:21:04 -0700 Subject: [PATCH 2/2] Fix header spacing so "Docs" displays correctly --- astro.config.mjs | 1 + src/components/starlight/Header.astro | 88 ++++++++++++++++++++++++ src/components/starlight/SiteTitle.astro | 25 +++++-- src/styles/custom.css | 1 - 4 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 src/components/starlight/Header.astro diff --git a/astro.config.mjs b/astro.config.mjs index ad1267d..1ec2e4e 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -45,6 +45,7 @@ export default defineConfig({ components: { // Override the default `Head` component to add our page tracking. Head: './src/components/starlight/Head.astro', + Header: './src/components/starlight/Header.astro', // Boost schema reference pages in Pagefind results. MarkdownContent: './src/components/starlight/MarkdownContent.astro', PageTitle: './src/components/starlight/PageTitle.astro', diff --git a/src/components/starlight/Header.astro b/src/components/starlight/Header.astro new file mode 100644 index 0000000..58bc454 --- /dev/null +++ b/src/components/starlight/Header.astro @@ -0,0 +1,88 @@ +--- +import config from 'virtual:starlight/user-config'; + +import LanguageSelect from 'virtual:starlight/components/LanguageSelect'; +import Search from 'virtual:starlight/components/Search'; +import SiteTitle from 'virtual:starlight/components/SiteTitle'; +import SocialIcons from 'virtual:starlight/components/SocialIcons'; +import ThemeSelect from 'virtual:starlight/components/ThemeSelect'; + +const shouldRenderSearch = + config.pagefind || config.components.Search !== '@astrojs/starlight/components/Search.astro'; +--- + +
+
+ +
+ +
+
+ +
+ + +
+
+ + diff --git a/src/components/starlight/SiteTitle.astro b/src/components/starlight/SiteTitle.astro index 505c986..e8328df 100644 --- a/src/components/starlight/SiteTitle.astro +++ b/src/components/starlight/SiteTitle.astro @@ -14,14 +14,24 @@ const docsHref = 'https://docs.firegiant.com/'; diff --git a/src/styles/custom.css b/src/styles/custom.css index bf4d203..090cf63 100644 --- a/src/styles/custom.css +++ b/src/styles/custom.css @@ -60,7 +60,6 @@ body { font-family: Plex, var(--__sl-font); } - /* Home ============================= */