Add new documents and images to the public directory
All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
- Added essays: qui-sumus-existential-dread.pdf and licencjat.pdf - Added scripts: loop.pdf - Added images: DSC_1283.avif, GAK00015.avif, GAK00017.avif, GAK00041.avif, GAK00042.avif, painter.avif, parasitic-god-1.avif, parasitic-god-2.avif, parasitic-god-3.avif, parasitic-god-4.avif, parasitic-god-5.avif, spanish-inq-1.avif, spanish-inq-2.avif, spanish-inq-3.avif, spanish-inq-4.avif, typing-game-1.avif, typing-game-2.avif
This commit is contained in:
@@ -23,7 +23,7 @@ export async function generateStaticParams() {
|
||||
export async function generateMetadata({
|
||||
params,
|
||||
}: {
|
||||
params: { projectName: string };
|
||||
params: Promise<{ projectName: string }>;
|
||||
}): Promise<Metadata> {
|
||||
const { projectName } = await params;
|
||||
const project = getProjectByName(projectName);
|
||||
@@ -32,12 +32,18 @@ export async function generateMetadata({
|
||||
return { title: "Project Not Found" };
|
||||
}
|
||||
|
||||
const slug = encodeURIComponent(project.name.replace(/\s/g, "+"));
|
||||
|
||||
return {
|
||||
title: `${project.name} | Gabriel Kaszewski`,
|
||||
description: project.short_description,
|
||||
alternates: {
|
||||
canonical: `https://gabrielkaszewski.dev/projects/${slug}`,
|
||||
},
|
||||
openGraph: {
|
||||
title: project.name,
|
||||
description: project.short_description,
|
||||
url: `https://gabrielkaszewski.dev/projects/${slug}`,
|
||||
images:
|
||||
project.thumbnails && project.thumbnails.length > 0
|
||||
? [
|
||||
@@ -50,13 +56,18 @@ export async function generateMetadata({
|
||||
]
|
||||
: undefined,
|
||||
},
|
||||
twitter: {
|
||||
card: "summary",
|
||||
title: project.name,
|
||||
description: project.short_description,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default async function ProjectDetailPage({
|
||||
params,
|
||||
}: {
|
||||
params: { projectName: string };
|
||||
params: Promise<{ projectName: string }>;
|
||||
}) {
|
||||
const { projectName } = await params;
|
||||
const project = getProjectByName(projectName);
|
||||
|
||||
@@ -6,6 +6,21 @@ export const metadata: Metadata = {
|
||||
title: "My Projects | Gabriel Kaszewski",
|
||||
description:
|
||||
"A showcase of my work, including web applications, games, and developer tools built with Rust, Next.js, and more.",
|
||||
alternates: {
|
||||
canonical: "https://gabrielkaszewski.dev/projects",
|
||||
},
|
||||
openGraph: {
|
||||
title: "My Projects | Gabriel Kaszewski",
|
||||
description:
|
||||
"A showcase of my work, including web applications, games, and developer tools built with Rust, Next.js, and more.",
|
||||
url: "https://gabrielkaszewski.dev/projects",
|
||||
},
|
||||
twitter: {
|
||||
card: "summary",
|
||||
title: "My Projects | Gabriel Kaszewski",
|
||||
description:
|
||||
"A showcase of my work, including web applications, games, and developer tools built with Rust, Next.js, and more.",
|
||||
},
|
||||
};
|
||||
|
||||
const ProjectsPage = () => {
|
||||
|
||||
Reference in New Issue
Block a user