All checks were successful
Build and deploy / deploy (push) Successful in 23s
- astro.config.mjs: section-only URLs now redirect to the first article in that section. /whp/admin/ used to render Apache's directory listing because no index.html existed; now it serves a meta-refresh to /whp/admin/overview/. Same for /whp/, /whp/getting-started/, /whp/how-to/, /whp/site-builder/, /whp/reference/, /whp/add-ons/. - public/.htaccess: ships in dist, disables Options Indexes + MultiViews (defense in depth so any future section without a redirect doesn't leak a listing), and routes 404/403 to /404.html. - src/content/docs/404.md: replaces the bare 'check the URL' tagline with two explicit actions — 'Go to the knowledge base home' and 'WHP getting started'.
91 lines
3.1 KiB
JavaScript
91 lines
3.1 KiB
JavaScript
// @ts-check
|
|
import { defineConfig } from 'astro/config';
|
|
import starlight from '@astrojs/starlight';
|
|
import sitemap from '@astrojs/sitemap';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
// 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/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: '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(),
|
|
],
|
|
});
|