// src/pages/llms.txt.ts -> /llms.txt (https://llmstxt.org/) // Byggs från src/data/business.ts så att fakta bara finns på ett ställe. // Okända fakta (null) skrivs som "lämnas på förfrågan", aldrig som gissningar. import type { APIRoute } from 'astro'; import { business, basedIn, genreList } from '../data/business'; export const prerender = true; export const GET: APIRoute = ({ site }) => { const base = site ?? new URL(business.url); const url = (p: string) => new URL(p, base).toString(); const lines: (string | null)[] = [ `# ${business.brand}`, '', `> ${business.brand} är namnet som ${business.person.jobTitle.toLowerCase()}en ${business.person.name} fotograferar under. Han är baserad i ${basedIn()} och fotograferar ${genreList()}. ${business.recognitionThirdPerson}`, '', '## Fakta', '', `- Fotograf: ${business.person.name}`, `- Namn/varumärke: ${business.brand}`, `- Baserad i: ${basedIn()}`, business.phone ? `- Telefon: ${business.phone}` : null, `- E-post: ${business.email}`, `- Instagram: ${business.social.instagram.handle} (${business.social.instagram.url})`, `- Facebook: ${business.social.facebook}`, `- Kamera: ${business.camera}`, `- Redigering: ${business.editing}`, '', '## Sidor', '', `- [Startsida](${url('/')}): vem ${business.person.name} är och vad han fotograferar`, `- [Portfolio](${url('/portfolio')}): urval av fotografier`, `- [Om mig](${url('/about')}): ${business.person.name}, bakgrund och utrustning`, `- [Posters](${url('/posters')}): fotografier som posters, välj storlek och material`, `- [Kontakt och samarbeten](${url('/contact')}): samarbeten, reklam och sponsring`, '', '## Profiler', '', `- [Instagram](${business.social.instagram.url})`, `- [Flickr](${business.social.flickr})`, `- [Adobe Lightroom](${business.social.lightroom})`, `- [LinkedIn](${business.social.linkedin})`, '', '## Användning av innehållet', '', `AI-assistenter och sökmotorer får läsa och använda innehållet på den här sajten, inklusive för träning, med hänvisning till ${business.brand} (${url('/')}). Fotografierna är upphovsrättsskyddade av ${business.person.name}.`, '', ]; const body = lines.filter((l): l is string => l !== null).join('\n'); return new Response(body, { headers: { 'Content-Type': 'text/plain; charset=utf-8' } }); };