0
mirror of https://github.com/valentineus/popov.link.git synced 2025-07-04 08:30:27 +03:00
Files
popov.link/src/components/Sections/LatestPosts.astro

44 lines
889 B
Plaintext
Raw Normal View History

---
import { getCollection } from "astro:content";
import dayjs from "dayjs";
import RSSIcon from "../Icons/RSS.astro";
const posts = await getCollection("blog", ({ data }) => {
return data.draft !== true;
});
posts.sort((a, b) => b.data.datePublished.getTime() - a.data.datePublished.getTime());
const latestPosts = posts.slice(0, 5);
---
<style lang="scss">
@use "../../scss/variables" as *;
small {
font-size: $fontSizeBase * 0.75;
opacity: 0.5;
}
</style>
<section>
<h2>Latest posts <RSSIcon /></h2>
<ul>
{
latestPosts.map((post) => (
<li>
<a href={`/blog/${post.slug}`} lang={post.data.lang}>
{post.data.title}
</a>
<small>
<time datetime={post.data.datePublished.toISOString()} lang="en">
{dayjs(post.data.datePublished.toString()).format("MMMM DD, YYYY")}
</time>
</small>
</li>
))
}
</ul>
</section>