A small Astro + MDX blog for delightful, daily-use finds. The architecture separates capture from publication and supports reuse: - find/ captured items, hidden from indexes - finds/ editorial superposts referencing find slugs in a grid - reviews/ full-length writeups; can graduate from a find via fromFind - posts/ regular essays Three project-local skills under .claude/skills/ drive the pipeline: daily-finds (capture-only sweep across sources.json), build-finds (draft a thematic superpost), build-review (graduate a find). sources.json carries 47 curated feeds with per-source fetch strategy (webfetch / curl / skip) so Cloudflare-blocked sites and Reddit JSON endpoints are handled deterministically. /sources renders a 3-column card stream with a "Recent finds" cross-reference per source. Seeds: 17 reviews and one superpost referencing 5 finds.
11 lines
373 B
TypeScript
11 lines
373 B
TypeScript
import { getCollection, type CollectionEntry } from 'astro:content';
|
|
|
|
export type FindsPost = CollectionEntry<'finds'>;
|
|
|
|
export async function findsReferencing(slug: string): Promise<FindsPost[]> {
|
|
const all = await getCollection('finds');
|
|
return all
|
|
.filter((p) => p.data.items.includes(slug))
|
|
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
|
|
}
|