// @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 }, }), ], });