Skip to content

Generalize breadcrumbs to nested paths; add brandColor config - #63

Open
RobbieTheWagner wants to merge 1 commit into
mainfrom
layout-breadcrumbs-and-brand-color
Open

Generalize breadcrumbs to nested paths; add brandColor config#63
RobbieTheWagner wants to merge 1 commit into
mainfrom
layout-breadcrumbs-and-brand-color

Conversation

@RobbieTheWagner

Copy link
Copy Markdown
Member

What

Two Layout-level customization gaps that surfaced when converting whiskey.fm (www-starpod) from a fork into an npm consumer — the fork carried both, and the package had no hook for either.

Nested breadcrumbs

Breadcrumbs.astro now builds one crumb per path segment: a custom nested page like /collections/[slug] renders Home > Collections > <title> with the intermediate crumb linked and named by humanizing its segment, instead of jumping straight from Home to the page title. The full trail feeds the BreadcrumbList schema, and the last crumb gets aria-current="page". All injected core routes are single-segment, so their rendering is unchanged (verified against the built /about and episode pages).

brandColor config

New optional config field, validated as a hex color, that sets the Safari pinned-tab mask-icon color and msapplication-TileColor — both were hardcoded to the favicon-generator template values (#5bbad5 / #da532c), which remain the defaults. Documented in the package README, with a config validation test.

Verification

  • All 171 unit tests pass (including the new brandColor validation case); astro check and a full reference-site build pass.
  • Dev-server smoke test of a nested /collections/test-crumb page: linked Collections crumb, aria-current, 3-item schema, and brandColor: '#531b3c' flowing into both head tags.

🤖 Generated with Claude Code

Breadcrumbs now build one crumb per path segment, so a custom nested page
like /collections/[slug] gets a linked intermediate crumb (named by
humanizing the segment) instead of jumping straight from Home to the page
title. The trail also feeds the BreadcrumbList schema, and the last crumb
gets aria-current="page". Injected core routes are all single-segment, so
their rendering is unchanged.

New optional brandColor config field (validated as a hex color) sets the
Safari pinned-tab icon color and Windows tile color, which were hardcoded
to the favicon-generator template values.

Both restore customizations whiskey.fm carried in its fork before
converting to the npm package.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
starpod Ready Ready Preview Aug 30, 2026 12:34am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 53 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 31d6b26d-8a80-47f0-8f24-c8d3d6f4d386

📥 Commits

Reviewing files that changed from the base of the PR and between 3d9a168 and 8388251.

📒 Files selected for processing (5)
  • packages/starpod/README.md
  • packages/starpod/src/components/Breadcrumbs.astro
  • packages/starpod/src/layouts/Layout.astro
  • packages/starpod/src/utils/config.ts
  • tests/unit/config.test.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant