feat(brand): use real AnHonestHost wordmark + chevron logo
- Pulled the real inline SVG from anhonesthost.com (chevrons + wordmark with 'Host' in teal #00d4aa) - Override Starlight's SiteTitle component so the SVG is inlined rather than loaded as <img>, letting currentColor follow the active theme - Hub page header uses the same wordmark - 'Knowledge Base' label sits to the right of the brand mark, hidden on narrow viewports
This commit is contained in:
@@ -20,9 +20,10 @@ export default defineConfig({
|
||||
starlight({
|
||||
title: 'AnHonestHost KB',
|
||||
description: 'Customer documentation for WHP and other AnHonestHost services.',
|
||||
logo: {
|
||||
src: './src/assets/logo.svg',
|
||||
replacesTitle: false,
|
||||
components: {
|
||||
// Inline-SVG brand mark + "Knowledge Base" label.
|
||||
// Inlining lets the SVG's currentColor follow the active theme.
|
||||
SiteTitle: './src/components/SiteTitle.astro',
|
||||
},
|
||||
customCss: [
|
||||
'@fontsource-variable/inter',
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 32" width="120" height="32">
|
||||
<text x="0" y="22" font-family="Inter,system-ui,sans-serif" font-size="20" font-weight="700" fill="#00d4aa">AHH</text>
|
||||
<text x="50" y="22" font-family="Inter,system-ui,sans-serif" font-size="20" font-weight="400" fill="currentColor">KB</text>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 32" fill="none" height="32" role="img" aria-label="AnHonestHost Knowledge Base">
|
||||
<path d="M12 4L3 16L12 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M24 4L33 16L24 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<line x1="12" y1="16" x2="24" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" opacity="0.35"/>
|
||||
<text x="44" y="21" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="18" font-weight="800" fill="currentColor" letter-spacing="-0.5">AnHonest<tspan fill="#00d4aa">Host</tspan></text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 700 B |
49
src/components/SiteTitle.astro
Normal file
49
src/components/SiteTitle.astro
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
const { siteTitleHref } = Astro.locals.starlightRoute;
|
||||
---
|
||||
|
||||
<a href={siteTitleHref} class="site-title sl-flex" translate="no" aria-label="AnHonestHost Knowledge Base">
|
||||
<svg
|
||||
class="brand-logo"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 240 32"
|
||||
fill="none"
|
||||
height="28"
|
||||
role="img"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<path d="M12 4L3 16L12 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M24 4L33 16L24 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<line x1="12" y1="16" x2="24" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" opacity="0.35"/>
|
||||
<text x="44" y="21" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="18" font-weight="800" fill="currentColor" letter-spacing="-0.5">AnHonest<tspan fill="#00d4aa">Host</tspan></text>
|
||||
</svg>
|
||||
<span class="kb-label">Knowledge Base</span>
|
||||
</a>
|
||||
|
||||
<style>
|
||||
.site-title {
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
min-width: 0;
|
||||
color: var(--sl-color-text);
|
||||
}
|
||||
.brand-logo {
|
||||
height: calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));
|
||||
width: auto;
|
||||
}
|
||||
.kb-label {
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
color: var(--anhh-text-secondary, #94a3b8);
|
||||
padding-left: 0.75rem;
|
||||
border-left: 1px solid var(--anhh-border-color, #334155);
|
||||
line-height: 1;
|
||||
}
|
||||
@media (max-width: 50em) {
|
||||
.kb-label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -75,11 +75,26 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
|
||||
}
|
||||
header,
|
||||
footer {
|
||||
padding: 1.5rem 2rem;
|
||||
padding: 1.25rem 2rem;
|
||||
}
|
||||
header {
|
||||
border-bottom: 1px solid var(--anhh-border-color, #334155);
|
||||
}
|
||||
a.brand {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
.kb-label {
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
color: var(--anhh-text-secondary, #94a3b8);
|
||||
padding-left: 0.75rem;
|
||||
border-left: 1px solid var(--anhh-border-color, #334155);
|
||||
line-height: 1;
|
||||
}
|
||||
footer {
|
||||
border-top: 1px solid var(--anhh-border-color, #334155);
|
||||
font-size: 0.875rem;
|
||||
@@ -152,7 +167,17 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header><strong>An Honest Host</strong> · Knowledge Base</header>
|
||||
<header>
|
||||
<a href="/" class="brand" aria-label="AnHonestHost">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 32" fill="none" height="28" role="img">
|
||||
<path d="M12 4L3 16L12 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M24 4L33 16L24 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<line x1="12" y1="16" x2="24" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" opacity="0.35"/>
|
||||
<text x="44" y="21" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="18" font-weight="800" fill="currentColor" letter-spacing="-0.5">AnHonest<tspan fill="#00d4aa">Host</tspan></text>
|
||||
</svg>
|
||||
<span class="kb-label">Knowledge Base</span>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<h1>Knowledge Base</h1>
|
||||
<p class="lede">Pick a product to get started.</p>
|
||||
|
||||
Reference in New Issue
Block a user