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

- 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:
2026-08-20 01:39:14 +02:00
parent 97e8260def
commit 9e95d5c544
46 changed files with 1538 additions and 3108 deletions

View File

@@ -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);

View File

@@ -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 = () => {