new projects page

This commit is contained in:
2025-09-14 14:11:26 -04:00
parent 0a8b6e69f1
commit b108762c60
11 changed files with 144 additions and 41 deletions
+47
View File
@@ -0,0 +1,47 @@
---
import Layout from '@layouts/Layout.astro';
import Card from '@components/Card.astro';
import { projects } from '@data/projects';
const title = 'Projects';
---
<Layout title={title}>
<h1>{title}</h1>
<div class="projects-grid">
{
projects.map((project) => (
<Card
title={project.title}
image={project.image}
links={[
{
label: 'More...',
href: project.link,
newWindow: true,
},
]}
>
<div class="project-content">
<p>{project.description}</p>
</div>
</Card>
))
}
</div>
</Layout>
<style>
.projects-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1rem;
}
.project-content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: 8rem;
}
</style>
-36
View File
@@ -1,36 +0,0 @@
---
layout: ../layouts/Layout.astro
title: Projects
---
# Projects
## Mac Apps
### [AutoDock](https://github.com/ghall89/AutoDock)
A MacOS menubar utility for automatically hiding and showing the Dock based on the screen size of the connected displays.
### [KeyStash](https://github.com/ghall89/KeyStash)
A MacOS application for managing software license keys for software purchased outside the Mac App Store.
## Node Packages
### [bgg-client](https://www.npmjs.com/package/bgg-client)
A Typescript client for working with the BoardGameGeek.com API.
### [try-catcher-ts](https://www.npmjs.com/package/try-catcher-ts)
A type-safe try/catch wrapper.
### [tunes-js](https://www.npmjs.com/package/tunes-js)
A Node package for controlling Music.app on macOS.
## Other
### [BGG Search (Raycast Extension)](https://www.raycast.com/graham_hall/board-game-geek)
A Raycast extension for searching [BoardGameGeek.com](https://boardgamegeek.com).