<template> <v-container> <div class="max-w-[720px] mx-auto"> <v-card> <v-img v-if="post?.thumbnail" cover class="align-end" height="180" :src="post?.thumbnail" /> <div class="pa-5"> <v-card-text class="pt-0 pb-1"> <h2 class="text-xl font-medium">{{ post?.title }}</h2> <p class="opacity-80">{{ post?.description }}</p> </v-card-text> <v-divider class="mx-[-20px] mt-3 border-opacity-75" /> <v-card-text tag="article" class="prose max-w-none"> <content-renderer :value="post"> <template #empty> <p>No content found.</p> </template> </content-renderer> </v-card-text> <v-divider class="mx-[-20px] mb-4 border-opacity-75" /> <div class="mt-3 flex justify-between items-center"> <p class="ps-3.5 text-sm"> {{ new Date(post?.date).toLocaleString() }} </p> </div> </div> </v-card> </div> </v-container> </template> <script setup lang="ts"> const route = useRoute(); const { data: post } = await useAsyncData("post", () => queryContent("posts").where({ slug: route.params.slug }).findOne() ); definePageMeta({ alias: ["/posts/:slug", "/n/:slug"] }) </script>