--- import '../styles/global.css'; import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SITE_LANG, SITE_FOUNDED, MAIN_NAV, SOCIAL } from '../consts'; import BrandMark from '../components/BrandMark.astro'; import SocialLinks from '../components/SocialLinks.astro'; import Analytics from '../components/Analytics.astro'; import CookieConsent from '../components/CookieConsent.astro'; interface Props { title?: string; description?: string; ogType?: 'website' | 'article'; } const { title, description, ogType = 'website' } = Astro.props; const pageTitle = title ? `${title} — ${SITE_TITLE}` : SITE_TITLE; const pageDesc = description || SITE_DESCRIPTION; const canonical = new URL(Astro.url.pathname, SITE_URL).toString(); const year = new Date().getFullYear(); const ogImage = new URL('/og-image.png', SITE_URL).toString(); const logoUrl = new URL('/logo.svg', SITE_URL).toString(); const jsonLd = [ { '@context': 'https://schema.org', '@type': 'WebSite', name: SITE_TITLE, url: SITE_URL, inLanguage: SITE_LANG, description: SITE_DESCRIPTION, potentialAction: { '@type': 'SearchAction', target: `${SITE_URL}/?s={query}`, 'query-input': 'required name=query', }, }, { '@context': 'https://schema.org', '@type': 'NewsMediaOrganization', name: SITE_TITLE, url: SITE_URL, logo: logoUrl, image: ogImage, description: SITE_DESCRIPTION, foundingDate: String(SITE_FOUNDED), sameAs: Object.values(SOCIAL).map((s) => s.url), }, ]; ---