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:
@@ -18,11 +18,12 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
integrations: [
|
integrations: [
|
||||||
starlight({
|
starlight({
|
||||||
title: 'An Honest Host KB',
|
title: 'AnHonestHost KB',
|
||||||
description: 'Customer documentation for WHP and other An Honest Host services.',
|
description: 'Customer documentation for WHP and other AnHonestHost services.',
|
||||||
logo: {
|
components: {
|
||||||
src: './src/assets/logo.svg',
|
// Inline-SVG brand mark + "Knowledge Base" label.
|
||||||
replacesTitle: false,
|
// Inlining lets the SVG's currentColor follow the active theme.
|
||||||
|
SiteTitle: './src/components/SiteTitle.astro',
|
||||||
},
|
},
|
||||||
customCss: [
|
customCss: [
|
||||||
'@fontsource-variable/inter',
|
'@fontsource-variable/inter',
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 32" width="120" height="32">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 32" fill="none" height="32" role="img" aria-label="AnHonestHost Knowledge Base">
|
||||||
<text x="0" y="22" font-family="Inter,system-ui,sans-serif" font-size="20" font-weight="700" fill="#00d4aa">AHH</text>
|
<path d="M12 4L3 16L12 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
<text x="50" y="22" font-family="Inter,system-ui,sans-serif" font-size="20" font-weight="400" fill="currentColor">KB</text>
|
<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>
|
</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>
|
||||||
@@ -56,10 +56,10 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||||
<title>An Honest Host Knowledge Base</title>
|
<title>AnHonestHost Knowledge Base</title>
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="Customer documentation for WHP and other An Honest Host services."
|
content="Customer documentation for WHP and other AnHonestHost services."
|
||||||
/>
|
/>
|
||||||
<link rel="canonical" href="https://kb.anhonesthost.com/" />
|
<link rel="canonical" href="https://kb.anhonesthost.com/" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
@@ -75,11 +75,26 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
|
|||||||
}
|
}
|
||||||
header,
|
header,
|
||||||
footer {
|
footer {
|
||||||
padding: 1.5rem 2rem;
|
padding: 1.25rem 2rem;
|
||||||
}
|
}
|
||||||
header {
|
header {
|
||||||
border-bottom: 1px solid var(--anhh-border-color, #334155);
|
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 {
|
footer {
|
||||||
border-top: 1px solid var(--anhh-border-color, #334155);
|
border-top: 1px solid var(--anhh-border-color, #334155);
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
@@ -152,7 +167,17 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<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>
|
<main>
|
||||||
<h1>Knowledge Base</h1>
|
<h1>Knowledge Base</h1>
|
||||||
<p class="lede">Pick a product to get started.</p>
|
<p class="lede">Pick a product to get started.</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user