diff options
author | Valentin Popov <valentin@popov.link> | 2025-06-12 02:20:36 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2025-06-12 02:20:36 +0300 |
commit | 67f245a48faf6e89989aca2ea571b657fd4c8888 (patch) | |
tree | 110c7f4f842d30ef1c79d916d40e143d30adec5a /src/layouts/BaseLayout.astro | |
parent | 16fa8a3b5de7dd7c4fa763fecbba0063f6b4369b (diff) | |
download | popov.link-67f245a48faf6e89989aca2ea571b657fd4c8888.tar.xz popov.link-67f245a48faf6e89989aca2ea571b657fd4c8888.zip |
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.
Diffstat (limited to 'src/layouts/BaseLayout.astro')
-rw-r--r-- | src/layouts/BaseLayout.astro | 6 |
1 files changed, 4 insertions, 2 deletions
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<Thing>; }; -const { title, description, lang } = Astro.props; +const { title, description, lang, schema } = Astro.props; --- <html lang={lang}> - <Head title={title} description={description} /> + <Head title={title} description={description} schema={schema} /> <body> <main> |