feat: show tags

Changed files
+19 -2
app
+5
app/components/PostPreview.vue
···
<h1 class="text-2xl font-bold text-neutral-900 dark:text-neutral-300">
{{ post.title }}
</h1>
<p :class="[
'text-neutral-500 dark:text-zinc-400',
'my-4',
···
<h1 class="text-2xl font-bold text-neutral-900 dark:text-neutral-300">
{{ post.title }}
</h1>
+
<div class="mt-2 flex items-center gap-2">
+
<span v-for="tag in post.tags" :key="tag" class="px-2 py-0.5 text-xs bg-stone-200 dark:bg-stone-700 text-stone-600 dark:text-stone-400 rounded-full">
+
{{ tag }}
+
</span>
+
</div>
<p :class="[
'text-neutral-500 dark:text-zinc-400',
'my-4',
+6 -1
app/components/PostPreviewAccent.vue
···
<h1 class="text-4xl font-bold text-neutral-900 dark:text-neutral-300">
{{ post.title }}
</h1>
-
<div class="mt-4 flex items-center justify-start gap-4 text-neutral-600 dark:text-neutral-300">
<div v-if="post.authors" class="flex items-center gap-1">
<img v-if="post.authors[0].name === config.author" src="/logo.png" :alt="post.authors[0].name"
class="w-8 h-8 rounded-full mr-2">
···
<h1 class="text-4xl font-bold text-neutral-900 dark:text-neutral-300">
{{ post.title }}
</h1>
+
<div class="my-2 flex items-center gap-2">
+
<span v-for="tag in post.tags" :key="tag" class="mr-2 mb-2 px-2 py-0.5 text-xs bg-stone-200 dark:bg-stone-700 text-stone-600 dark:text-stone-400 rounded-full">
+
{{ tag }}
+
</span>
+
</div>
+
<div class="flex items-center justify-start gap-4 text-neutral-600 dark:text-neutral-300">
<div v-if="post.authors" class="flex items-center gap-1">
<img v-if="post.authors[0].name === config.author" src="/logo.png" :alt="post.authors[0].name"
class="w-8 h-8 rounded-full mr-2">
+2 -1
app/pages/index.vue
···
"title",
"date",
"description",
-
"authors"
])
.where("published", "<>", false)
.order("date", "DESC");
···
"title",
"date",
"description",
+
"authors",
+
"tags"
])
.where("published", "<>", false)
.order("date", "DESC");
+6
app/pages/posts/[...slug].vue
···
}) }}
</span>
</span>
</div>
<div class="bg-stone-200 dark:bg-stone-700 h-[1px] my-4"></div>
···
}) }}
</span>
</span>
+
·
+
<div>
+
<span v-for="tag in post.tags" :key="tag" class="mr-2 mb-2 px-3 py-1 text-sm bg-stone-200 dark:bg-stone-700 text-stone-600 dark:text-stone-400 rounded-full">
+
{{ tag }}
+
</span>
+
</div>
</div>
<div class="bg-stone-200 dark:bg-stone-700 h-[1px] my-4"></div>