diff options
Diffstat (limited to 'examples/portfolio/src')
-rw-r--r-- | examples/portfolio/src/components/PortfolioPreview.astro | 4 | ||||
-rw-r--r-- | examples/portfolio/src/content.config.ts | 4 | ||||
-rw-r--r-- | examples/portfolio/src/pages/work/[...slug].astro | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/examples/portfolio/src/components/PortfolioPreview.astro b/examples/portfolio/src/components/PortfolioPreview.astro index dbeac403e..f26bae0e2 100644 --- a/examples/portfolio/src/components/PortfolioPreview.astro +++ b/examples/portfolio/src/components/PortfolioPreview.astro @@ -5,10 +5,10 @@ interface Props { project: CollectionEntry<'work'>; } -const { data, slug } = Astro.props.project; +const { data, id } = Astro.props.project; --- -<a class="card" href={`/work/${slug}`}> +<a class="card" href={`/work/${id}`}> <span class="title">{data.title}</span> <img src={data.img} alt={data.img_alt || ''} loading="lazy" decoding="async" /> </a> diff --git a/examples/portfolio/src/content.config.ts b/examples/portfolio/src/content.config.ts index 06c6bab51..689ddde5a 100644 --- a/examples/portfolio/src/content.config.ts +++ b/examples/portfolio/src/content.config.ts @@ -1,8 +1,10 @@ +import { glob } from 'astro/loaders'; import { defineCollection, z } from 'astro:content'; export const collections = { work: defineCollection({ - type: 'content', + // Load Markdown files in the src/content/work directory. + loader: glob({ base: './src/content/work', pattern: '**/*.md', }), schema: z.object({ title: z.string(), description: z.string(), diff --git a/examples/portfolio/src/pages/work/[...slug].astro b/examples/portfolio/src/pages/work/[...slug].astro index 84ed133a4..90eb3ba8d 100644 --- a/examples/portfolio/src/pages/work/[...slug].astro +++ b/examples/portfolio/src/pages/work/[...slug].astro @@ -7,6 +7,7 @@ import ContactCTA from '../../components/ContactCTA.astro'; import Hero from '../../components/Hero.astro'; import Icon from '../../components/Icon.astro'; import Pill from '../../components/Pill.astro'; +import { render } from 'astro:content'; interface Props { entry: CollectionEntry<'work'>; @@ -18,13 +19,13 @@ interface Props { export async function getStaticPaths() { const work = await getCollection('work'); return work.map((entry) => ({ - params: { slug: entry.slug }, + params: { slug: entry.id }, props: { entry }, })); } const { entry } = Astro.props; -const { Content } = await entry.render(); +const { Content } = await render(entry); --- <BaseLayout title={entry.data.title} description={entry.data.description}> |