- 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
134 lines
5.0 KiB
JavaScript
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
|
|
},
|
|
}),
|
|
],
|
|
});
|