lukeonline - commit 16e1b9b
feat: projects page16e1b9b610bc4d75bad589b56a3e1e05aa7cde27Luke Jones<luke.jones.2567@gmail.com>2026-07-21T19:00:59+01:00diff --git a/src/components/LargeButtonCol.astro b/src/components/LargeButtonCol.astro
index 7515aee..70e2e59 100644
--- a/src/components/LargeButtonCol.astro
+++ b/src/components/LargeButtonCol.astro
@@ -6,7 +6,7 @@ const { ...props } = Astro.props;
const entries = props.entries;
---
<div class="grid gap-2 grid-cols-1">
- {entries.map(entry =>
+ {entries.map(entry =>
<LargeButton title={entry.title}
desc={entry.desc}
link={entry.link}
diff --git a/src/pages/projects/index.astro b/src/pages/projects/index.astro
new file mode 100644
index 0000000..268b88b
--- /dev/null
+++ b/src/pages/projects/index.astro
@@ -0,0 +1,37 @@
+---
+import ContentList from "../../layouts/ContentList.astro";
+import TextSection from "../../components/TextSection.astro";
+
+import { getCollection, getEntry } from 'astro:content';
+
+const title = "Projects";
+
+const contentData = [
+ {
+ title: "got",
+ desc: "Basic shell script for quickly storing, managing, and changing-to directories on your machine.",
+ link: "https://github.com/LukePJ25/got"
+ },
+ {
+ title: "JSDiver",
+ desc: "A basic skydiving game implemented through use of the HTML5 Canvas.",
+ link: "/blog/141124"
+ },
+ {
+ title: "Intervle",
+ desc: "Web-based event-ordering game written in PHP with Laravel 12",
+ link: "https://github.com/LukePJ25/Intervle"
+ },
+ {
+ title: "lukeonline",
+ desc: "This website. Rewritten in Astro.",
+ link: "https://github.com/LukePJ25/lukeonline"
+ },
+ {
+ title: "ChickenBoard",
+ desc: "A basic canvas-based drawing program.",
+ link: "https://github.com/LukePJ25/ChickenBoard/"
+ }
+];
+---
+<ContentList title={title} content={contentData} />