diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index d614656a88e..675aba83a25 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -165,12 +165,13 @@ export default defineConfig({ "markdown", "yaml" ]), - langAlias: { aw: "markdown" } + langAlias: { aw: "markdown", abnf: "text" } }, }, plugins: [ starlightBlog({ recentPostCount: 12, + navigation: 'none', authors: createAuthors({ 'githubnext': { name: 'GitHub Next', diff --git a/docs/src/components/CustomHead.astro b/docs/src/components/CustomHead.astro index 2ae80f8c4a5..7b20a05e04d 100644 --- a/docs/src/components/CustomHead.astro +++ b/docs/src/components/CustomHead.astro @@ -29,18 +29,28 @@ const overriddenProps = new Set([ 'twitter:title', 'twitter:description', 'twitter:image', ]); -// Filter Starlight's head tags to remove OG/Twitter tags we'll override +// Generate the correct page title (avoids "Site | Site" duplicate on homepage) +const pageTitle = isHomePage ? siteTitle : `${rawPageTitle} | ${siteTitle}`; + +// Filter Starlight's head tags to remove OG/Twitter tags we'll override. +// Also filter the tag: Starlight generates "Page Title | Site Title" for every page, +// which produces "GitHub Agentic Workflows | GitHub Agentic Workflows" on the homepage +// because the page title and site title are identical. We output our own deduplicated title below. const head = route?.head ?? []; const filteredHead = head.filter(({ tag, attrs }) => { + if (tag === 'title') return false; if (tag !== 'meta') return true; const prop = attrs?.property || attrs?.name; return !overriddenProps.has(prop); }); --- -<!-- Starlight's head tags (with OG/Twitter duplicates removed) --> +<!-- Starlight's head tags (with OG/Twitter duplicates and title removed) --> {filteredHead.map(({ tag: Tag, attrs, content }) => <Tag {...attrs} set:html={content} />)} +<!-- Page title (deduplicated: avoids "GitHub Agentic Workflows | GitHub Agentic Workflows" on homepage) --> +<title>{pageTitle} + diff --git a/docs/src/components/CustomLogo.astro b/docs/src/components/CustomLogo.astro index ec255eb3a9a..dd1fff6f5d2 100644 --- a/docs/src/components/CustomLogo.astro +++ b/docs/src/components/CustomLogo.astro @@ -11,7 +11,7 @@ const initialLogoUrl = darkLogoUrl; --- - + GitHub Agentic Workflows diff --git a/docs/src/components/ThemeToggle.astro b/docs/src/components/ThemeToggle.astro index 510998204e1..88a34961045 100644 --- a/docs/src/components/ThemeToggle.astro +++ b/docs/src/components/ThemeToggle.astro @@ -1,11 +1,16 @@ --- import octicons from '@primer/octicons'; +import BlogThemeSelect from 'starlight-blog/components/ThemeSelect.astro'; const sunIcon = octicons.sun.toSVG({ width: 16, height: 16 }); const moonIcon = octicons.moon.toSVG({ width: 16, height: 16 }); const autoIcon = octicons['device-desktop'].toSVG({ width: 16, height: 16 }); --- + +