<feed xmlns='http://www.w3.org/2005/Atom'>
<title>popov.link/src/utils, branch master</title>
<subtitle>A fast and minimalist personal website and blog powered by Astro. Features clean Markdown content, custom theming, and optimized deployment on Cloudflare Pages.
</subtitle>
<id>https://git.popov.link/popov.link/atom?h=master</id>
<link rel='self' href='https://git.popov.link/popov.link/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/'/>
<updated>2026-04-22T18:53:50+00:00</updated>
<entry>
<title>feat: add RSS feed generation and update package metadata</title>
<updated>2026-04-22T18:53:50+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-04-22T18:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=9a0746a4715400ab8ef37ec23a4df93ae712e74b'/>
<id>urn:sha1:9a0746a4715400ab8ef37ec23a4df93ae712e74b</id>
<content type='text'>
- Implemented a new RSS feed generation feature in src/pages/feed.xml.ts, allowing users to follow blog updates.
- Updated package.json and package-lock.json to include license information and new type definitions for markdown-it and sanitize-html.
- Refactored createOgImage function to return Uint8Array instead of Buffer for better compatibility.
- Simplified pageSchema by removing the optional mainEntityId parameter for cleaner schema generation.
</content>
</entry>
<entry>
<title>refactor: update schema handling and improve SEO metadata</title>
<updated>2026-04-22T16:11:58+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-04-22T16:11:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=5e818d804d5d38beff0f3754a006333752fd5082'/>
<id>urn:sha1:5e818d804d5d38beff0f3754a006333752fd5082</id>
<content type='text'>
- Changed schema type from WithContext&lt;Thing&gt; to Thing[] in Head, BaseLayout, and JsonLd components for better flexibility.
- Added optional robots meta tag to Head component.
- Updated JSON-LD generation in JsonLd component to include a structured payload.
- Enhanced page and blog schemas to support breadcrumb and person schemas for improved SEO.
- Introduced new utility schemas for website and person to streamline schema generation.
- Refactored existing schemas to align with the new structure and ensure consistency across components.
</content>
</entry>
<entry>
<title>feat: migrated to Astro 6</title>
<updated>2026-04-09T08:47:37+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-04-09T08:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=f90592d8a106bea418cbd3d8bce9c2d86029f93c'/>
<id>urn:sha1:f90592d8a106bea418cbd3d8bce9c2d86029f93c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: implement Open Graph image generation and enhance configuration</title>
<updated>2025-06-14T19:25:16+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T19:25:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=a81117972d39df35574bbab809bb590abc874761'/>
<id>urn:sha1:a81117972d39df35574bbab809bb590abc874761</id>
<content type='text'>
- Added ogImages integration to generate Open Graph images for blog posts.
- Updated configuration to include Open Graph settings and default preview image.
- Refactored Head component to utilize new preview property for Open Graph meta tags.
- Enhanced blog post schema to include preview image for structured data representation.
- Introduced utility functions for creating Open Graph images with dynamic content.
</content>
</entry>
<entry>
<title>refactor: remove preview property from blog post schema and configuration</title>
<updated>2025-06-14T12:12:16+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T12:12:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=25ebd94466edcf87c675a12e3cf80b0ce572ab76'/>
<id>urn:sha1:25ebd94466edcf87c675a12e3cf80b0ce572ab76</id>
<content type='text'>
- Eliminated the optional `preview` field from the blog post schema and configuration to streamline data handling.
- Updated the blog post schema to utilize the default image directly from configuration, enhancing consistency in image representation.
</content>
</entry>
<entry>
<title>feat: add configuration and default image for blog posts</title>
<updated>2025-06-14T12:08:48+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T12:08:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=0473060773a7acb10a6f11e5e22ec13ddf5650ba'/>
<id>urn:sha1:0473060773a7acb10a6f11e5e22ec13ddf5650ba</id>
<content type='text'>
- 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.
</content>
</entry>
<entry>
<title>feat: enhance blog post and page schema with new properties</title>
<updated>2025-06-14T11:47:17+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T11:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=a65e9c845543abcda641f51f4dd8cd77ab50b60d'/>
<id>urn:sha1:a65e9c845543abcda641f51f4dd8cd77ab50b60d</id>
<content type='text'>
- Added optional `basedOn` field to blog post schema for better content attribution.
- Updated blog post markdown to include `basedOn` reference for improved context.
- Refactored page schema to replace deprecated website schema, enhancing structured data representation.
- Adjusted 404 and index pages to utilize the new page schema for consistency and SEO improvements.
</content>
</entry>
<entry>
<title>refactor: update blog post date handling and schema</title>
<updated>2025-06-14T11:25:17+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T11:25:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=17f9a467d7c0f427ae9d1cd579988a26615311c7'/>
<id>urn:sha1:17f9a467d7c0f427ae9d1cd579988a26615311c7</id>
<content type='text'>
- Replaced `pubDate` with `datePublished` in blog post components for consistency.
- Updated sorting logic in blog sections to use `datePublished`.
- Enhanced blog post schema to include `dateModified` for better structured data representation.
- Adjusted various blog markdown files to reflect the new date fields.
</content>
</entry>
<entry>
<title>feat: enhance blog post schema and structure</title>
<updated>2025-06-14T11:09:34+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T11:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=3df02c5304b8faee540694b15041ad2ee43bc1b2'/>
<id>urn:sha1:3df02c5304b8faee540694b15041ad2ee43bc1b2</id>
<content type='text'>
- Added description and lang parameters to the blogPostSchema for improved structured data.
- Updated the blog post layout to include a header section for better semantic structure and accessibility.
</content>
</entry>
<entry>
<title>refactor: enhance PostElement structure and update blog schema</title>
<updated>2025-06-14T11:01:42+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2025-06-14T11:01:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/popov.link/commit/?id=9777d996d172755472dd8127ff9b7a3c579cf454'/>
<id>urn:sha1:9777d996d172755472dd8127ff9b7a3c579cf454</id>
<content type='text'>
- Wrapped the post link in an &lt;article&gt; tag for improved semantic structure.
- Updated blogSchema to include posts for better structured data representation.
- Adjusted the blog index to utilize the new posts parameter for enhanced SEO.
</content>
</entry>
</feed>
