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:
2026-05-17 16:36:46 -07:00
parent 16e14019b7
commit af94b72777
4 changed files with 89 additions and 12 deletions

View File

@@ -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

View 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>

View File

@@ -56,10 +56,10 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>An Honest Host Knowledge Base</title>
<title>AnHonestHost Knowledge Base</title>
<meta
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="icon" type="image/svg+xml" href="/favicon.svg" />
@@ -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>