diff --git a/src/components/Greeting.astro b/src/components/Greeting.astro index de72e07..5f48a25 100644 --- a/src/components/Greeting.astro +++ b/src/components/Greeting.astro @@ -1,8 +1,8 @@ --- import { Image } from "astro:assets" -import me from "../images/me.jpg" -import * as m from "../paraglide/messages.js" -import "../styles/global.css" +import me from "@/images/polite-cat.jpg" +import * as m from "@/paraglide/messages.js" +import "@/styles/global.css" ---
diff --git a/src/components/projects/MyProjectsPage.astro b/src/components/projects/MyProjectsPage.astro new file mode 100644 index 0000000..b8febfb --- /dev/null +++ b/src/components/projects/MyProjectsPage.astro @@ -0,0 +1,33 @@ +--- +import ProjectCard from "./ProjectCard.astro" +import * as m from "@/paraglide/messages" + +interface Props { + projects: any[] // TODO Type this +} + +const { projects } = Astro.props +--- + +

{m.myProjects()}

+
+ { + projects.map( + ({ + data: { title, description, tags, heroImage, heroImageAlt }, + slug + }) => ( +
+ +
+ ) + ) + } +
\ No newline at end of file diff --git a/src/components/ProjectCard.astro b/src/components/projects/ProjectCard.astro similarity index 81% rename from src/components/ProjectCard.astro rename to src/components/projects/ProjectCard.astro index 537a23b..fd6f886 100644 --- a/src/components/ProjectCard.astro +++ b/src/components/projects/ProjectCard.astro @@ -1,7 +1,7 @@ --- import { Image } from "astro:assets" import { type ImageMetadata } from "astro" -import BadgeList from "./badge/BadgeList.astro" +import BadgeList from "../badge/BadgeList.astro" interface Props { title: string @@ -17,7 +17,7 @@ const { title, description, tags, image, imageAlt, linkTo } = Astro.props
{imageAlt} diff --git a/src/components/ProjectPage.astro b/src/components/projects/ProjectPage.astro similarity index 72% rename from src/components/ProjectPage.astro rename to src/components/projects/ProjectPage.astro index 4285aa1..b068c55 100644 --- a/src/components/ProjectPage.astro +++ b/src/components/projects/ProjectPage.astro @@ -1,14 +1,12 @@ --- -import Layout from "../layouts/Layout.astro" +import Layout from "@/layouts/Layout.astro" import { Image } from "astro:assets" import { getEntry } from "astro:content" -import BadgeList from "./badge/BadgeList.astro" -import ExternalLink from "./links/ExternalLink.astro" -import * as m from "../paraglide/messages" -import { languageTag } from "../paraglide/runtime" -import Gitea from "../icons/Gitea.astro" -import "../styles/global.css" -import GiteaLink from "./links/GiteaLink.astro" +import BadgeList from "../badge/BadgeList.astro" +import * as m from "@/paraglide/messages" +import { languageTag } from "@/paraglide/runtime" +import GiteaLink from "../links/GiteaLink.astro" +import "@/styles/global.css" interface Props { project: string // TODO typeof project slug @@ -26,7 +24,7 @@ const { heroImageAlt, source, createdAt, - updatedAt, + updatedAt } = entry!.data --- diff --git a/src/images/me.jpg b/src/images/me.jpg deleted file mode 100644 index 37d4ba1..0000000 Binary files a/src/images/me.jpg and /dev/null differ diff --git a/src/images/polite-cat.jpg b/src/images/polite-cat.jpg new file mode 100644 index 0000000..6afc7a3 Binary files /dev/null and b/src/images/polite-cat.jpg differ diff --git a/src/pages/en/project/[project].astro b/src/pages/en/project/[project].astro index de046d2..908cfbe 100644 --- a/src/pages/en/project/[project].astro +++ b/src/pages/en/project/[project].astro @@ -1,11 +1,11 @@ --- -import ProjectPage from "../../../components/ProjectPage.astro" +import ProjectPage from "../../../components/projects/ProjectPage.astro" import { type GetStaticPathsResult } from "astro" export function getStaticPaths(): GetStaticPathsResult { return [ { params: { project: "hotelservice" } }, - { params: { project: "homepage" } }, + { params: { project: "homepage" } } ] } diff --git a/src/pages/en/project/index.astro b/src/pages/en/project/index.astro index 4a5690c..ccc49c4 100644 --- a/src/pages/en/project/index.astro +++ b/src/pages/en/project/index.astro @@ -1,5 +1,11 @@ --- +import { getCollection } from "astro:content" +import Layout from "@/layouts/Layout.astro" +import MyProjectsPage from "@/components/projects/MyProjectsPage.astro" + +const projects = await getCollection("projects") +--- ---- - -

These are all my projects

+ + + \ No newline at end of file diff --git a/src/pages/project/[project].astro b/src/pages/project/[project].astro index 2faffa7..4e9d1cf 100644 --- a/src/pages/project/[project].astro +++ b/src/pages/project/[project].astro @@ -1,11 +1,11 @@ --- -import ProjectPage from "../../components/ProjectPage.astro" +import ProjectPage from "../../components/projects/ProjectPage.astro" import { type GetStaticPathsResult } from "astro" export function getStaticPaths(): GetStaticPathsResult { return [ { params: { project: "hotelservice" } }, - { params: { project: "homepage" } }, + { params: { project: "homepage" } } ] } diff --git a/src/pages/project/index.astro b/src/pages/project/index.astro index b76dfb6..28b881c 100644 --- a/src/pages/project/index.astro +++ b/src/pages/project/index.astro @@ -1,32 +1,11 @@ --- import { getCollection } from "astro:content" -import ProjectCard from "../../components/ProjectCard.astro" -import Layout from "../../layouts/Layout.astro" +import Layout from "@/layouts/Layout.astro" +import MyProjectsPage from "@/components/projects/MyProjectsPage.astro" const projects = await getCollection("projects") --- - -

Projects

-
- { - projects.map( - ({ - data: { title, description, tags, heroImage, heroImageAlt }, - slug, - }) => ( -
- -
- ), - ) - } -
+ + diff --git a/tsconfig.json b/tsconfig.json index 228d390..2b311b7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,18 @@ { "extends": "astro/tsconfigs/strict", - "include": ["src/**/*.ts", "src/**/*.astro", "src/**/*.svelte"], + "include": [ + "src/**/*.ts", + "src/**/*.astro", + "src/**/*.svelte" + ], "compilerOptions": { "strictNullChecks": true, "allowJs": true, + "baseUrl": ".", "paths": { - "@/*": ["./src/*"] + "@/*": [ + "./src/*" + ] } } }