* fix(visual-editing): PT inline editing; align starter templates * chore(admin): format router.tsx --------- Co-authored-by: Matt Kane <mkane@cloudflare.com>
39 lines
753 B
Plaintext
39 lines
753 B
Plaintext
---
|
|
import { getEmDashEntry, getSeoMeta } from "emdash";
|
|
import { PortableText } from "emdash/ui";
|
|
import Base from "../layouts/Base.astro";
|
|
|
|
const { slug } = Astro.params;
|
|
|
|
if (!slug) {
|
|
return Astro.redirect("/404");
|
|
}
|
|
|
|
const { entry: page, cacheHint } = await getEmDashEntry("pages", slug);
|
|
|
|
if (!page) {
|
|
return Astro.redirect("/404");
|
|
}
|
|
|
|
Astro.cache.set(cacheHint);
|
|
|
|
const seo = getSeoMeta(page, {
|
|
siteTitle: "My Site",
|
|
siteUrl: Astro.url.origin,
|
|
path: `/${slug}`,
|
|
});
|
|
---
|
|
|
|
<Base
|
|
title={seo.title}
|
|
description={seo.description}
|
|
canonical={seo.canonical}
|
|
content={{ collection: "pages", id: page.data.id, slug }}
|
|
>
|
|
<article>
|
|
<h1 {...page.edit.title}>{page.data.title}</h1>
|
|
|
|
<PortableText value={page.data.content} />
|
|
</article>
|
|
</Base>
|