--- import '../styles/global.css'; import { SEO } from 'astro-seo'; import { site } from '../data/site'; import { isProduction } from '../utils'; import ThemeProvider from '../components/ThemeProvider.astro'; import PageHeader from '../components/PageHeader.astro'; import PageFooter from '../components/PageFooter.astro'; import SearchModal from '../components/SearchModal.astro'; import Scripts from '../components/Scripts.astro'; export interface Props { backLink?: string; cover?: string; description?: string; footer?: boolean; header?: boolean; nofollow?: boolean; noindex?: boolean; title: string; } const { backLink, description, footer = true, header = true, nofollow, noindex, title, cover = '/assets/images/branding/og/bonsai.jpg', } = Astro.props; const currentPath = new URL(Astro.request.url).pathname; const fullTitle = `${title} · ${site.description}`; const fullDescription = description || site.description; const fullUrl = site.url + currentPath; const fullImage = site.url + cover; const schema = JSON.stringify({ '@context': 'https://schema.org/', '@type': 'WebSite', name: site.author, url: site.url, }); const pagefind = !noindex && { 'data-pagefind-body': '' }; const webManifest = isProduction && { rel: 'manifest', href: '/manifest.webmanifest', }; ---