2026-04-29 23:06:11 -05:00
|
|
|
<script lang="ts" setup>
|
|
|
|
|
const route = useRoute();
|
|
|
|
|
const { data: page } = await useAsyncData(route.path, () => {
|
|
|
|
|
return queryCollection('writing').path(route.path).first();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (!page.value) {
|
|
|
|
|
throw createError({ statusCode: 404, statusMessage: 'Page Not Found' });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
useSeoMeta({
|
|
|
|
|
title: page.value?.title,
|
|
|
|
|
description: page.value?.description,
|
|
|
|
|
});
|
2026-04-29 23:13:10 -05:00
|
|
|
|
|
|
|
|
definePageMeta({
|
|
|
|
|
layout: 'writing',
|
|
|
|
|
});
|
2026-04-29 23:06:11 -05:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
2026-04-29 23:13:10 -05:00
|
|
|
<NuxtLayout name="writing" :title="page?.title" :description="page?.description">
|
2026-04-29 23:06:11 -05:00
|
|
|
<ContentRenderer v-if="page" :value="page" />
|
2026-04-29 23:13:10 -05:00
|
|
|
</NuxtLayout>
|
2026-04-29 23:06:11 -05:00
|
|
|
</template>
|