27 lines
699 B
Vue
27 lines
699 B
Vue
<script setup>
|
|
defineProps({
|
|
post: {
|
|
type: Object,
|
|
required: true
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<article class="post-card site-section">
|
|
<div class="post-card__body site-section-body">
|
|
<p class="post-card__meta text-xs font-semibold uppercase text-muted">
|
|
{{ post.tag }} · {{ post.publishedAt }}
|
|
</p>
|
|
<h2 class="post-card__title mt-3 text-2xl font-semibold leading-tight">
|
|
<NuxtLink class="post-card__title-link hover:text-muted" :to="post.to">
|
|
{{ post.title }}
|
|
</NuxtLink>
|
|
</h2>
|
|
<p class="post-card__excerpt mt-3 text-sm leading-6 text-muted">
|
|
{{ post.excerpt }}
|
|
</p>
|
|
</div>
|
|
</article>
|
|
</template>
|