Skip to content

feat(projects): add opt-in dedicated project pages - #117

Merged
kenjdavidson merged 2 commits into
mainfrom
copilot/add-new-project-page-element
Mar 20, 2026
Merged

feat(projects): add opt-in dedicated project pages#117
kenjdavidson merged 2 commits into
mainfrom
copilot/add-new-project-page-element

Conversation

Copilot AI commented Mar 17, 2026

Copy link
Copy Markdown
Contributor

Projects need a way to generate an internal page (e.g. /projects/3d-printing) rather than always linking out to GitHub or an external site. The list page should show only an excerpt for these, and the dedicated page should have a non-sticky sidebar for project metadata.

Schema

  • Added page: boolean (default false) to the projects collection schema. Set page: true to generate a dedicated route.

Routing

  • New src/pages/projects/[...slug].astro generates /projects/<slug> for every project with page: true.

Layout — ProjectPageLayout.astro

  • Mirrors BlogPostLayout with a Project Info sidebar (GitHub, website links).
  • Desktop: sidebar is float: right so prose wraps around it — no sticky/fixed positioning.
  • Mobile: sidebar drops below content via order-2 inside flex-col.

Projects list

  • Projects with page: true render only description as an excerpt; "Learn more" links internally. Full markdown render and the separate GitHub button are skipped for these entries.

Utility

  • Extracted getProjectSlug(entry) from getProjectUrl to avoid duplicating the entry.id → slug regex in the static paths generator.

Content

  • Added src/content/projects/3d-printing/index.md (page: true) with Ender 3 Neo / Overture PLA as a concrete example of the new feature.
---
title: "3D Printing"
description: Exploring 3D printing with an Ender 3 Neo…
order: 10
page: true          # ← generates /projects/3d-printing
---

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/kenjdavidson.github.io/kenjdavidson.github.io/node_modules/.bin/astro build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Projects - Create or Not create a new Project page</issue_title>
<issue_description>After seeing the implementation of the product page, I have some comments and some changes that I'd like to implement.

First, I'd like to add a new element to the project content that will tell the system to build a new page. For example:

  • Bluetooth Classic project has it's own page, so the blurb just needs to point there
  • Alexa will eventually have it's own page
  • A new 3d project won't have it's dedicated github/pages so it will need a page within here, for example /projects/3d-design. In this instance the /projects page should show an excerp and a full page should be generated for the Learn More link (no github link).

The page content will be fairly straight forward, at this point it should mimic the blog, but it should probably have a right side panel with some information regarding the project (github, links, etc that may be added later). In this case, I don't want the right side to scroll/fixed, I want the text content to wrap around it when it's longer. It should also jump to the bottom when on smaller devices.

For example, the 3d printing page will have information regarding:

  • the type of printer I have
  • primary filament used
  • etc

So just some generic information. If it helps, you can add a 3dprinting page with some basic content and information:

  • Ender 3 Neo
  • Overture PLA

I will add images and information/links regarding the actual designs later.</issue_description>

Comments on the Issue (you are @copilot in this section)


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Co-authored-by: kenjdavidson <6210735+kenjdavidson@users.noreply.github.com>
Copilot AI changed the title [WIP] Add new element for project page creation feat(projects): add opt-in dedicated project pages Mar 17, 2026
Copilot AI requested a review from kenjdavidson March 17, 2026 16:47
@kenjdavidson
kenjdavidson marked this pull request as ready for review March 20, 2026 18:34
@kenjdavidson
kenjdavidson merged commit 19f9ff4 into main Mar 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Projects - Create or Not create a new Project page

2 participants