2024-09-12 13:11:16 +00:00
|
|
|
---
|
2024-09-12 16:36:57 +00:00
|
|
|
import { type CollectionEntry } from "astro:content";
|
2024-09-12 13:11:16 +00:00
|
|
|
import dayjs from "dayjs";
|
|
|
|
|
2024-09-12 16:36:57 +00:00
|
|
|
type Props = {
|
|
|
|
readonly post: CollectionEntry<"blog">;
|
|
|
|
};
|
|
|
|
|
2024-09-12 13:11:16 +00:00
|
|
|
const { post } = Astro.props;
|
2024-09-17 22:27:55 +00:00
|
|
|
const { remarkPluginFrontmatter } = await post.render();
|
|
|
|
const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY");
|
2024-09-12 13:11:16 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
@import "../scss/_variables.scss";
|
|
|
|
|
2024-09-17 22:27:55 +00:00
|
|
|
a {
|
2024-09-12 13:11:16 +00:00
|
|
|
color: $colorText;
|
2024-09-17 22:27:55 +00:00
|
|
|
display: block;
|
|
|
|
padding-bottom: 3rem;
|
2024-09-18 00:38:54 +00:00
|
|
|
|
|
|
|
&:visited {
|
|
|
|
color: $colorText;
|
|
|
|
}
|
2024-09-12 13:11:16 +00:00
|
|
|
}
|
|
|
|
|
2024-09-17 22:27:55 +00:00
|
|
|
h2 {
|
|
|
|
color: $colorBlossom;
|
|
|
|
font-size: 1.25em;
|
|
|
|
margin: 0.5em 0;
|
2024-09-12 13:11:16 +00:00
|
|
|
}
|
|
|
|
|
2024-09-17 22:27:55 +00:00
|
|
|
div {
|
|
|
|
font-size: $fontSizeBase * 0.75;
|
2024-09-12 13:11:16 +00:00
|
|
|
opacity: 0.5;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
2024-09-17 22:27:55 +00:00
|
|
|
<a href={`/blog/${post.slug}`}>
|
|
|
|
<article>
|
|
|
|
<div>
|
|
|
|
<time datetime={post.data.pubDate.toISOString()}>{formattedDate}</time>
|
|
|
|
<span>•</span>
|
|
|
|
<span>{remarkPluginFrontmatter.minutesRead}</span>
|
|
|
|
</div>
|
|
|
|
<h2>{post.data.title}</h2>
|
|
|
|
<p>{post.data.description}</p>
|
|
|
|
</article>
|
|
|
|
</a>
|