--- import type { ImageMetadata } from 'astro'; import { Font } from 'astro:assets'; import { SITE_TITLE } from '@/consts'; import '@/styles/globals.css'; import FooterEasterEgg from '@/components/FooterEasterEgg.astro'; import Posthog from '@/components/Posthog.astro'; interface Props { title: string | string[]; description: string; image?: ImageMetadata; } const canonicalURL = new URL(Astro.url.pathname, Astro.site); const { title, description, image } = Astro.props; const fullTitle = Array.isArray(title) ? title.filter((t) => t !== SITE_TITLE).join(' | ') + ` | ${SITE_TITLE}` : title === SITE_TITLE ? title : `${title} | ${SITE_TITLE}`; --- {/* Global Metadata */} {/* Important stuff */} {/* Font preloads */} {/* Canonical URL */} {/* Primary Meta Tags */} {fullTitle} {/* Open Graph / Facebook */} {image && } {/* Twitter */} {image && } {/* Whatever else */} {/* Analytics */} {/* BaseUI requires body.relative and div.isolate */}