--- import { ClientRouter } from "astro:transitions"; import NavigationBar from "../components/NavigationBar.vue"; import ScrollUpButton from "../components/ScrollUpButton.vue"; import { config } from "../config"; import type { OpenGraphImage } from "../types"; const currentPath = Astro.url.pathname; import "../styles/global.css"; export interface Props { title?: string; description?: string; ogImage?: OpenGraphImage; ogType?: "website" | "article"; } const { title, description, ogImage, ogType } = Astro.props; const pageTitle = title ? `${title} | ${config.siteConfig.meta.title}` : config.siteConfig.meta.title; const pageDescription = description || config.siteConfig.meta.description; const og = config.siteConfig.openGraph; const canonicalUrl = new URL(Astro.url.pathname, config.siteConfig.meta.url) .href; const resolvedOgImage = ogImage || og.image; const resolvedOgImageUrl = new URL(resolvedOgImage.url, config.siteConfig.meta.url).href; const resolvedOgType = ogType || og.type || "website"; ---