personal-page/src/pages/portafolio/[...slug].astro
2023-11-18 14:02:51 -03:00

31 lines
790 B
Text

---
import type { InferGetStaticPropsType, GetStaticPaths } from 'astro';
import { getCollection } from 'astro:content';
import Layout from '@layouts/Layout.astro';
import Toc from '@components/Toc/Toc';
import Gallery from '@components/MediaGallery/Gallery';
export const getStaticPaths = (async () => {
const entries = await getCollection('portafolio');
return entries.map((entry) => ({
params: { slug: entry.slug },
props: entry,
}));
}) satisfies GetStaticPaths;
type Props = InferGetStaticPropsType<typeof getStaticPaths>;
const entry = Astro.props;
const { Content, headings } = await entry.render();
---
<Layout title={entry.data.title}>
<h1>{entry.data.title}</h1>
<Gallery items={entry.data.media} />
<Toc headings={headings} />
<Content />
</Layout>