// Auto-generated route configuration
// This file is automatically generated by the route-generator plugin
// Do not edit manually - your changes will be overwritten

import Route3 from '../contents/architecture.mdx'
import Route7 from '../contents/builder/built-ins.mdx'
import Route1 from '../contents/builder/cli.mdx'
import Route4 from '../contents/builder/config.mdx'
import Route16 from '../contents/builder/index.mdx'
import Route5 from '../contents/builder/pipeline.mdx'
import Route6 from '../contents/builder/plugins.mdx'
import Route20 from '../contents/deployment/cloudflare-pages.mdx'
import Route18 from '../contents/deployment/docker.mdx'
import Route19 from '../contents/deployment/github-pages.mdx'
import Route17 from '../contents/deployment/index.mdx'
import Route21 from '../contents/deployment/vercel.mdx'
import Route24 from '../contents/docs-site.mdx'
import Route2 from '../contents/getting-started/quick-start.mdx'
import Route0 from '../contents/index.mdx'
import Route13 from '../contents/saas/architecture.mdx'
import Route23 from '../contents/saas/cms.mdx'
import Route15 from '../contents/saas/deployment.mdx'
import Route22 from '../contents/saas/index.mdx'
import Route10 from '../contents/storage/providers/b2.mdx'
import Route26 from '../contents/storage/providers/cos.mdx'
import Route14 from '../contents/storage/providers/eagle.mdx'
import Route11 from '../contents/storage/providers/github.mdx'
import Route8 from '../contents/storage/providers/index.mdx'
import Route12 from '../contents/storage/providers/local.mdx'
import Route25 from '../contents/storage/providers/oss.mdx'
import Route9 from '../contents/storage/providers/s3.mdx'

export interface RouteConfig {
  path: string
  component: React.ComponentType
  title: string
  meta: Record<string, unknown>
}

export const routes: RouteConfig[] = [
  {
    path: '/',
    component: Route0,
    title: 'Overview',
    meta: {
      title: 'Overview',
      description: 'Deploy a photo gallery in minutes—no database required.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '1',
    },
  },
  {
    path: '/builder/cli',
    component: Route1,
    title: 'CLI & Run Modes',
    meta: {
      title: 'CLI & Run Modes',
      description: 'Per-run flags, concurrency behavior, and cluster vs worker execution.',
      createdAt: '2025-11-23T19:00:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '2',
    },
  },
  {
    path: '/getting-started/quick-start',
    component: Route2,
    title: 'Quick Start',
    meta: {
      title: 'Quick Start',
      description: 'Get your gallery running in about 5 minutes.',
      createdAt: '2025-11-14T22:20:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '2',
    },
  },
  {
    path: '/architecture',
    component: Route3,
    title: 'Architecture',
    meta: {
      title: 'Architecture',
      description: 'Understand how Afilmory works—static vs. SSR deployment modes.',
      createdAt: '2025-11-14T22:25:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '3',
    },
  },
  {
    path: '/builder/config',
    component: Route4,
    title: 'Configuration',
    meta: {
      title: 'Configuration',
      description: 'How to declare storage, system defaults, and plugins in builder.config.ts.',
      createdAt: '2025-11-23T19:00:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '3',
    },
  },
  {
    path: '/builder/pipeline',
    component: Route5,
    title: 'Processing Flow',
    meta: {
      title: 'Processing Flow',
      description: 'End-to-end pipeline, ordering, and incremental rules backed by the code.',
      createdAt: '2025-11-23T19:00:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '4',
    },
  },
  {
    path: '/builder/plugins',
    component: Route6,
    title: 'Plugins',
    meta: {
      title: 'Plugins',
      description: 'Lifecycle hooks, authoring a custom plugin, and built-in plugins.',
      createdAt: '2025-11-23T19:00:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '5',
    },
  },
  {
    path: '/builder/built-ins',
    component: Route7,
    title: 'Built-in Plugins',
    meta: {
      title: 'Built-in Plugins',
      description: 'Ready-to-use plugins shipped with the builder and how to configure them.',
      createdAt: '2025-11-23T19:35:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '6',
    },
  },
  {
    path: '/storage/providers',
    component: Route8,
    title: 'Storage Providers',
    meta: {
      title: 'Storage Providers',
      description: 'Choose a storage provider for your photo collection.',
      createdAt: '2025-11-14T22:40:00+08:00',
      lastModified: '2025-11-24T10:15:00+08:00',
      order: '30',
    },
  },
  {
    path: '/storage/providers/s3',
    component: Route9,
    title: 'S3 / S3-Compatible',
    meta: {
      title: 'S3 / S3-Compatible',
      description: 'Configure S3 or S3-compatible storage for your photo collection.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '32',
    },
  },
  {
    path: '/storage/providers/oss',
    component: Route25,
    title: 'Aliyun OSS',
    meta: {
      title: 'Aliyun OSS',
      description: 'Configure Aliyun Object Storage Service (OSS) for China-mainland friendly deployments.',
      createdAt: '2025-11-24T10:05:00+08:00',
      lastModified: '2025-11-24T10:05:00+08:00',
      order: '37',
    },
  },
  {
    path: '/storage/providers/cos',
    component: Route26,
    title: 'Tencent COS',
    meta: {
      title: 'Tencent COS',
      description: 'Configure Tencent Cloud Object Storage (COS) for deployments within the Tencent ecosystem.',
      createdAt: '2025-11-24T10:06:00+08:00',
      lastModified: '2025-11-24T10:06:00+08:00',
      order: '38',
    },
  },
  {
    path: '/storage/providers/b2',
    component: Route10,
    title: 'B2 (Backblaze B2)',
    meta: {
      title: 'B2 (Backblaze B2)',
      description: 'Configure Backblaze B2 storage for cost-effective cloud storage.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '33',
    },
  },
  {
    path: '/storage/providers/github',
    component: Route11,
    title: 'GitHub Storage',
    meta: {
      title: 'GitHub Storage',
      description: 'Use a GitHub repository as photo storage for simple deployments.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '34',
    },
  },
  {
    path: '/storage/providers/local',
    component: Route12,
    title: 'Local Storage',
    meta: {
      title: 'Local Storage',
      description: 'Use local file system paths for development and self-hosting.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '35',
    },
  },
  {
    path: '/saas/architecture',
    component: Route13,
    title: 'SaaS Architecture',
    meta: {
      title: 'SaaS Architecture',
      description: 'Tenant model, domain routing, OAuth flow, and data injection paths.',
      createdAt: '2025-11-23T20:20:00+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '36',
    },
  },
  {
    path: '/storage/providers/eagle',
    component: Route14,
    title: 'Eagle Storage',
    meta: {
      title: 'Eagle Storage',
      description: 'Publish directly from an Eagle 4 library with filtering support.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '36',
    },
  },
  {
    path: '/saas/deployment',
    component: Route15,
    title: 'SaaS Deployment',
    meta: {
      title: 'SaaS Deployment',
      description: 'Deploy the multi-tenant stack (core API + OAuth gateway) with subdomains and custom domains.',
      createdAt: '2025-11-23T19:50:00+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '37',
    },
  },
  {
    path: '/builder',
    component: Route16,
    title: 'Builder',
    meta: {
      title: 'Builder',
      description: 'Overview of the photo pipeline and how to choose the right entrypoint for your run.',
      createdAt: '2025-11-14T22:10:00+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '40',
    },
  },
  {
    path: '/deployment',
    component: Route17,
    title: 'Deployment',
    meta: {
      title: 'Deployment',
      description: 'Deploy your gallery to static hosting, SSR platforms, or Docker.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '50',
    },
  },
  {
    path: '/deployment/docker',
    component: Route18,
    title: 'Docker',
    meta: {
      title: 'Docker',
      description: 'Deploy Afilmory using Docker for consistent, containerized deployments.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '51',
    },
  },
  {
    path: '/deployment/github-pages',
    component: Route19,
    title: 'GitHub Pages',
    meta: {
      title: 'GitHub Pages',
      description: 'Deploy your gallery to GitHub Pages for free static hosting.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '52',
    },
  },
  {
    path: '/deployment/cloudflare-pages',
    component: Route20,
    title: 'Cloudflare Pages',
    meta: {
      title: 'Cloudflare Pages',
      description: 'Guide to deploying Afilmory via Cloudflare Pages.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '53',
    },
  },
  {
    path: '/deployment/vercel',
    component: Route21,
    title: 'Vercel',
    meta: {
      title: 'Vercel',
      description: 'Deploy your gallery to Vercel with server-side rendering support.',
      createdAt: '2025-07-20T22:35:03+08:00',
      lastModified: '2025-11-23T19:40:52+08:00',
      order: '54',
    },
  },
  {
    path: '/saas',
    component: Route22,
    title: 'SaaS Mode',
    meta: {
      title: 'SaaS Mode',
      description: 'Why run Afilmory as a multi-tenant SaaS, what it can do, and where to start.',
      createdAt: '2025-11-23T20:20:00+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '60',
    },
  },
  {
    path: '/saas/cms',
    component: Route23,
    title: 'CMS & Live Updates',
    meta: {
      title: 'CMS & Live Updates',
      description: 'How SaaS mode lets users change photos and metadata and see updates instantly without rebuilding.',
      createdAt: '2025-11-23T20:26:00+08:00',
      lastModified: '2025-11-23T20:44:02+08:00',
      order: '61',
    },
  },
  {
    path: '/docs-site',
    component: Route24,
    title: 'Docs Site',
    meta: {
      title: 'Docs Site',
      description: 'Docs site introduction and contribution guide',
      createdAt: '2025-09-11T17:05:55+08:00',
      lastModified: '2025-11-23T20:22:24+08:00',
      order: '90',
    },
  },
]

export default routes
