Files
kb-anhonesthost/astro.config.mjs
T

96 lines
3.3 KiB
JavaScript
Raw Normal View History

2026-05-17 10:24:47 -07:00
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import sitemap from '@astrojs/sitemap';
import { fileURLToPath } from 'node:url';
2026-05-17 10:24:47 -07:00
// https://astro.build/config
export default defineConfig({
site: 'https://kb.anhonesthost.com',
// Send section-only URLs to the first article in that section. Without these,
// hitting e.g. /whp/admin/ would render the Apache directory listing because
// there is no index.html in that folder.
redirects: {
'/whp/': '/whp/getting-started/welcome/',
'/whp/getting-started/': '/whp/getting-started/welcome/',
'/whp/how-to/': '/whp/how-to/add-a-domain/',
'/whp/site-builder/': '/whp/site-builder/overview/',
'/whp/local-dev/': '/whp/local-dev/overview/',
'/whp/reference/': '/whp/reference/service-hostnames/',
'/whp/add-ons/': '/whp/add-ons/overview/',
'/whp/admin/': '/whp/admin/overview/',
},
vite: {
resolve: {
alias: {
// `~` resolves to /src so partial imports are depth-independent:
// import SignIn from '~/content/partials/signing-in.mdx';
'~': fileURLToPath(new URL('./src', import.meta.url)),
},
},
},
integrations: [
starlight({
title: 'AnHonestHost KB',
description: 'Customer documentation for WHP and other AnHonestHost services.',
components: {
// Inline-SVG brand mark + "Knowledge Base" label.
// Inlining lets the SVG's currentColor follow the active theme.
SiteTitle: './src/components/SiteTitle.astro',
// Wraps Starlight's default <Head> to add a click-to-zoom lightbox
// (medium-zoom) that targets article content images.
Head: './src/components/Head.astro',
},
customCss: [
'@fontsource-variable/inter',
'@fontsource-variable/jetbrains-mono',
'./src/styles/anhh-tokens.css',
],
editLink: {
baseUrl: 'https://repo.anhonesthost.net/cloud-hosting-platform/kb-anhonesthost/_edit/main/',
},
sidebar: [
{
label: 'WHP',
items: [
{
label: 'Getting started',
items: [{ autogenerate: { directory: 'whp/getting-started' } }],
},
{
label: 'How-to guides',
items: [{ autogenerate: { directory: 'whp/how-to' } }],
},
{
label: 'Site Builder',
badge: { text: 'Beta', variant: 'tip' },
items: [{ autogenerate: { directory: 'whp/site-builder' } }],
},
{
label: 'Local development',
items: [{ autogenerate: { directory: 'whp/local-dev' } }],
},
{
label: 'Reference',
items: [{ autogenerate: { directory: 'whp/reference' } }],
},
{
label: 'Add-ons',
items: [{ autogenerate: { directory: 'whp/add-ons' } }],
},
{
label: 'Admin',
// badge removed once content was verified against the real UI
items: [{ autogenerate: { directory: 'whp/admin' } }],
},
],
},
// Future products only appear once they have content.
],
pagefind: true,
lastUpdated: true,
}),
sitemap(),
],
2026-05-17 10:24:47 -07:00
});