diff options
author | Valentin Popov <valentin@popov.link> | 2025-06-14 15:08:48 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2025-06-14 15:08:48 +0300 |
commit | 0473060773a7acb10a6f11e5e22ec13ddf5650ba (patch) | |
tree | ac5f6e309fd5d1562b91c35d8e511df1ac6fd89d /src/utils | |
parent | a65e9c845543abcda641f51f4dd8cd77ab50b60d (diff) | |
download | popov.link-0473060773a7acb10a6f11e5e22ec13ddf5650ba.tar.xz popov.link-0473060773a7acb10a6f11e5e22ec13ddf5650ba.zip |
feat: add configuration and default image for blog posts
- Introduced a new configuration file to centralize author information and default image settings for blog posts.
- Added a default image path in the blog post configuration for improved content presentation.
- Updated blog post schema to utilize the new configuration for author details, enhancing structured data representation.
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/schemas/blogPostSchema.ts | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/utils/schemas/blogPostSchema.ts b/src/utils/schemas/blogPostSchema.ts index 9445448..4bf50f2 100644 --- a/src/utils/schemas/blogPostSchema.ts +++ b/src/utils/schemas/blogPostSchema.ts @@ -1,29 +1,33 @@ import type { WithContext, BlogPosting } from "schema-dts"; +import { config } from "../../config"; export type BlogPostSchemaParams = { - readonly author: string; readonly dateModified: string; readonly datePublished: string; readonly description: string; readonly isBasedOn?: string; readonly lang: string; + readonly preview?: string; readonly siteUrl: string; readonly slug: string; readonly title: string; }; -export default ({ siteUrl, slug, title, description, datePublished, dateModified, author, lang, isBasedOn }: BlogPostSchemaParams): WithContext<BlogPosting> => ({ +export default ({ siteUrl, slug, title, description, preview, datePublished, dateModified, lang, isBasedOn }: BlogPostSchemaParams): WithContext<BlogPosting> => ({ "@context": "https://schema.org", "@type": "BlogPosting", "url": new URL(`/blog/${slug}`, siteUrl).toString(), "headline": title, "description": description, + "image": new URL(preview ? preview : config.posts.defaultImage, siteUrl).toString(), "datePublished": datePublished, "dateModified": dateModified, "inLanguage": lang, "author": { "@type": "Person", - "name": author, + "name": config.author.name, + "url": config.author.url, + "sameAs": config.author.sameAs, }, "mainEntityOfPage": { "@type": "WebPage", |