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/layouts/BaseLayout.astro | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/layouts') diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index f33ca69..216287e 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -1,4 +1,5 @@ --- +import type { WithContext, Thing } from "schema-dts"; import Analytics from "../components/Analytics.astro"; import Head from "../components/Head.astro"; import Header from "../components/Header.astro"; @@ -8,13 +9,14 @@ type Props = { readonly description: string; readonly title: string; readonly lang: string; + readonly schema: WithContext; }; -const { title, description, lang } = Astro.props; +const { title, description, lang, schema } = Astro.props; --- - +
-- cgit v1.2.3