From 67f245a48faf6e89989aca2ea571b657fd4c8888 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Wed, 11 Jun 2025 23:20:36 +0000 Subject: feat: integrate schema.org support and enhance component structure - Added schema.org support by introducing `schema-dts` for structured data in components. - Updated `Head`, `BaseLayout`, and various page components to accept and utilize schema props for better SEO. - Created new utility schemas for blog posts and website to standardize structured data implementation. - Enhanced the `SocialLinks` section by utilizing dedicated icon components for improved maintainability. - Refactored the `Header` component to improve accessibility and structure. - Introduced new icons for social links and integrated them into the layout. --- src/components/Head.astro | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/components/Head.astro') diff --git a/src/components/Head.astro b/src/components/Head.astro index de74ff2..a421915 100644 --- a/src/components/Head.astro +++ b/src/components/Head.astro @@ -1,11 +1,15 @@ --- +import type { WithContext, Thing } from "schema-dts"; +import JsonLd from "./JsonLd.astro"; + type Props = { readonly description: string; readonly title: string; + readonly schema: WithContext; }; const canonicalURL = new URL(Astro.url.pathname, Astro.site); -const { description, title } = Astro.props; +const { description, title, schema } = Astro.props; --- @@ -27,4 +31,6 @@ const { description, title } = Astro.props; + + -- cgit v1.2.3