0
mirror of https://github.com/valentineus/popov.link.git synced 2025-07-04 00:20:26 +03:00

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.
This commit is contained in:
2025-06-11 23:20:36 +00:00
parent 16fa8a3b5d
commit 67f245a48f
22 changed files with 383 additions and 209 deletions

View File

@ -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<Thing>;
};
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
const { description, title } = Astro.props;
const { description, title, schema } = Astro.props;
---
<head>
@ -27,4 +31,6 @@ const { description, title } = Astro.props;
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#ffffff" />
<JsonLd schema={schema} />
</head>