astro-discovery/docs/astro.config.mjs
Ryan Malloy 331cde52d8 Add Starlight documentation site structure
- Created comprehensive Diátaxis-based documentation
- 53 pages across Tutorials, How-to, Reference, and Explanation
- Custom branding with @astrojs/discovery logo
- Pagefind search integration
- Ready for content population
2025-11-08 23:11:58 -07:00

134 lines
5.0 KiB
JavaScript

// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
// https://astro.build/config
export default defineConfig({
site: 'https://astrojs-discovery.docs.example.com',
telemetry: false,
integrations: [
starlight({
title: '@astrojs/discovery',
description: 'Complete discovery integration for Astro - handles robots.txt, llms.txt, humans.txt, security.txt, canary.txt, webfinger, and sitemap generation',
logo: {
src: './src/assets/logo.svg',
replacesTitle: false,
},
social: [
{ icon: 'github', label: 'GitHub', href: 'https://github.com/withastro/astro-discovery' },
],
editLink: {
baseUrl: 'https://github.com/withastro/astro-discovery/edit/main/docs/',
},
head: [
{
tag: 'meta',
attrs: {
property: 'og:image',
content: '/og-image.png',
},
},
],
customCss: [
'./src/styles/custom.css',
],
sidebar: [
{
label: 'Getting Started',
items: [
{ label: 'Welcome', slug: 'index' },
{ label: 'Installation', slug: 'getting-started/installation' },
{ label: 'Quick Start', slug: 'getting-started/quick-start' },
{ label: 'First Steps', slug: 'getting-started/first-steps' },
],
},
{
label: 'Tutorials',
collapsed: false,
items: [
{ label: 'Basic Setup', slug: 'tutorials/basic-setup' },
{ label: 'Configure robots.txt', slug: 'tutorials/configure-robots' },
{ label: 'Setup llms.txt', slug: 'tutorials/setup-llms' },
{ label: 'Create humans.txt', slug: 'tutorials/create-humans' },
{ label: 'Security & Canary', slug: 'tutorials/security-canary' },
{ label: 'WebFinger Discovery', slug: 'tutorials/webfinger' },
],
},
{
label: 'How-to Guides',
collapsed: false,
items: [
{ label: 'Block Specific Bots', slug: 'how-to/block-bots' },
{ label: 'Customize LLM Instructions', slug: 'how-to/customize-llm-instructions' },
{ label: 'Add Team Members', slug: 'how-to/add-team-members' },
{ label: 'Filter Sitemap Pages', slug: 'how-to/filter-sitemap' },
{ label: 'Set Cache Headers', slug: 'how-to/cache-headers' },
{ label: 'Environment-specific Config', slug: 'how-to/environment-config' },
{ label: 'Use with Content Collections', slug: 'how-to/content-collections' },
{ label: 'Custom Templates', slug: 'how-to/custom-templates' },
{ label: 'ActivityPub Integration', slug: 'how-to/activitypub' },
],
},
{
label: 'Reference',
collapsed: false,
items: [
{ label: 'Configuration Options', slug: 'reference/configuration' },
{ label: 'API Reference', slug: 'reference/api' },
{ label: 'robots.txt Options', slug: 'reference/robots' },
{ label: 'llms.txt Options', slug: 'reference/llms' },
{ label: 'humans.txt Options', slug: 'reference/humans' },
{ label: 'security.txt Options', slug: 'reference/security' },
{ label: 'canary.txt Options', slug: 'reference/canary' },
{ label: 'WebFinger Options', slug: 'reference/webfinger' },
{ label: 'Sitemap Options', slug: 'reference/sitemap' },
{ label: 'Cache Options', slug: 'reference/cache' },
{ label: 'TypeScript Types', slug: 'reference/typescript' },
],
},
{
label: 'Explanation',
collapsed: false,
items: [
{ label: 'Why Use Discovery Files?', slug: 'explanation/why-discovery' },
{ label: 'Understanding robots.txt', slug: 'explanation/robots-explained' },
{ label: 'Understanding llms.txt', slug: 'explanation/llms-explained' },
{ label: 'Understanding humans.txt', slug: 'explanation/humans-explained' },
{ label: 'Security.txt Standard (RFC 9116)', slug: 'explanation/security-explained' },
{ label: 'Warrant Canaries', slug: 'explanation/canary-explained' },
{ label: 'WebFinger Protocol (RFC 7033)', slug: 'explanation/webfinger-explained' },
{ label: 'SEO & Discoverability', slug: 'explanation/seo' },
{ label: 'AI Assistant Integration', slug: 'explanation/ai-integration' },
{ label: 'Architecture & Design', slug: 'explanation/architecture' },
],
},
{
label: 'Examples',
collapsed: true,
items: [
{ label: 'E-commerce Site', slug: 'examples/ecommerce' },
{ label: 'Documentation Site', slug: 'examples/documentation' },
{ label: 'Personal Blog', slug: 'examples/blog' },
{ label: 'API Platform', slug: 'examples/api-platform' },
{ label: 'Multi-language Site', slug: 'examples/multilanguage' },
{ label: 'Federated Social Profile', slug: 'examples/federated-social' },
],
},
{
label: 'Community',
collapsed: true,
items: [
{ label: 'Contributing', slug: 'community/contributing' },
{ label: 'Changelog', slug: 'community/changelog' },
{ label: 'Troubleshooting', slug: 'community/troubleshooting' },
{ label: 'FAQ', slug: 'community/faq' },
],
},
],
components: {
// Override default components if needed
},
}),
],
});