site: rename "finds" superpost collection to "bundles"

Disambiguates the one-letter `find` (item) vs `finds` (roundup) split that
kept causing confusion. Audience-facing now: `/bundles/<slug>/`, "Bundle"
labels in home/footer/search.

Internals: `getCollection('finds')` → `('bundles')`, `Entry.type 'finds'`
→ `'bundle'`, `OgFallback 'finds'` → `'bundles'`, `findListMosaic` →
`bundleMosaic`, `FindsPost` → `Bundle`, `findsReferencing` →
`bundlesReferencing`. Build script + generated mosaic dir follow
(`scripts/build-bundle-mosaics.mjs`, `src/generated/bundle-mosaics/`).

Skills `build-finds` → `build-bundle`, `cluster-finds` →
`cluster-bundles`. The `find` collection (individual items) is unchanged.

No URL redirects: low external-link surface area.
This commit is contained in:
2026-05-06 20:43:22 -04:00
parent c2e1df222d
commit 049c6c5377
36 changed files with 503 additions and 255 deletions
+4 -4
View File
@@ -60,16 +60,16 @@ const find = defineCollection({
}),
});
const finds = defineCollection({
const bundles = defineCollection({
loader: glob({
pattern: '**/index.mdx',
base: './src/content/finds',
base: './src/content/bundles',
generateId: stripIndex,
}),
schema: z.object({
title: z.string(),
date: z.coerce.date(),
category: z.string().default('finds'),
category: z.string().default('bundles'),
tags: z.array(z.string()).default([]),
description: z.string().optional(),
blurb: z.string().optional(),
@@ -77,4 +77,4 @@ const finds = defineCollection({
}),
});
export const collections = { reviews, posts, find, finds };
export const collections = { reviews, posts, find, bundles };