summaryrefslogtreecommitdiff
path: root/examples/portfolio/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/portfolio/src')
-rw-r--r--examples/portfolio/src/components/PortfolioPreview.astro4
-rw-r--r--examples/portfolio/src/content.config.ts4
-rw-r--r--examples/portfolio/src/pages/work/[...slug].astro5
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}>