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

refactor: update blog post date handling and schema

- 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.
This commit is contained in:
2025-06-14 11:25:17 +00:00
parent 3df02c5304
commit 17f9a467d7
16 changed files with 52 additions and 35 deletions

View File

@ -8,7 +8,9 @@ type Props = {
const { post } = Astro.props;
const { remarkPluginFrontmatter } = await post.render();
const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY");
const formattedDate = dayjs(post.data.datePublished.toString()).format("MMMM DD, YYYY");
const datePublished = post.data.datePublished.toISOString();
---
<style lang="scss">
@ -29,7 +31,7 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"
<a href={`/blog/${post.slug}`} lang={post.data.lang}>{post.data.title}</a>
<div>
<small>
<time datetime={post.data.pubDate.toISOString()} lang="en">{formattedDate}</time>
<time datetime={datePublished} lang="en">{formattedDate}</time>
<span>•</span>
<span>{remarkPluginFrontmatter.minutesRead}</span>
</small>

View File

@ -7,7 +7,7 @@ const posts = await getCollection("blog", ({ data }) => {
return data.draft !== true;
});
posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
posts.sort((a, b) => b.data.datePublished.getTime() - a.data.datePublished.getTime());
const latestPosts = posts.slice(0, 5);
---
@ -32,8 +32,8 @@ const latestPosts = posts.slice(0, 5);
</a>
<small>
<time datetime={post.data.pubDate.toISOString()} lang="en">
{dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY")}
<time datetime={post.data.datePublished.toISOString()} lang="en">
{dayjs(post.data.datePublished.toString()).format("MMMM DD, YYYY")}
</time>
</small>
</li>