website/src/pages/es/videos/[...slug].astro
2024-07-31 16:42:52 -06:00

39 lines
989 B
Plaintext

---
import Layout from "@/layouts/Layout.astro";
import { getCollection } from "astro:content";
import components from "@/components/mdx/wrapper";
import formatDate from "@/utils/format-date";
import type { CollectionEntry } from "astro:content";
interface Props {
project: CollectionEntry<"videos">;
}
export async function getStaticPaths() {
const allProjects = await getCollection(
"videos",
({ data }) => data.draft !== true
);
return allProjects.map((project) => ({
params: { slug: project.slug },
props: { project },
}));
}
const { project } = Astro.props;
const { Content } = await project.render();
---
<Layout title={project.data.title} description={project.data.description}>
<article class="prose prose-invert">
<h1>{project.data.title}</h1>
<Content components={{ ...components }} />
<hr />
<p>
<strong>Posted: </strong>
{project.data.date && formatDate(new Date(project.data.date))}
</p>
</article>
</Layout>