summaryrefslogtreecommitdiff
path: root/examples/portfolio
diff options
context:
space:
mode:
authorGravatar Chris Swithinbank <swithinbank@gmail.com> 2024-12-03 11:00:43 +0100
committerGravatar GitHub <noreply@github.com> 2024-12-03 11:00:43 +0100
commit3a144b1a69679730bb1d721aae2a28008b8a9064 (patch)
tree3f385ce8140726e47b9a6b9862655748139456e4 /examples/portfolio
parent1dc8f5eb7c515c89aadc85cfa0a300d4f65e8671 (diff)
downloadastro-3a144b1a69679730bb1d721aae2a28008b8a9064.tar.gz
astro-3a144b1a69679730bb1d721aae2a28008b8a9064.tar.zst
astro-3a144b1a69679730bb1d721aae2a28008b8a9064.zip
Update examples for v5 (#12588)
* Revert "chore: downgrade examples to not use beta releases (#12557)" This reverts commit 6031962ab5f56457de986eb82bd24807e926ba1b. * Update blog template for new content collections * Update portfolio template for new content collections * Update starlog template for new content collections
Diffstat (limited to 'examples/portfolio')
-rw-r--r--examples/portfolio/package.json2
-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
4 files changed, 9 insertions, 6 deletions
diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json
index 17d2c51fe..6f98dd56b 100644
--- a/examples/portfolio/package.json
+++ b/examples/portfolio/package.json
@@ -10,6 +10,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.16.16"
+ "astro": "^5.0.0-beta.12"
}
}
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}>