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.
29 lines
623 B
Plaintext
29 lines
623 B
Plaintext
---
|
|
interface Props {
|
|
source: string;
|
|
prefix?: string;
|
|
}
|
|
const { source, prefix = 'via' } = Astro.props;
|
|
---
|
|
|
|
<span class="source-badge">{prefix} <span class="name">{source}</span></span>
|
|
|
|
<style>
|
|
.source-badge {
|
|
display: inline-flex;
|
|
align-items: baseline;
|
|
gap: 0.3rem;
|
|
font-family: ui-sans-serif, system-ui, -apple-system, 'Helvetica Neue', sans-serif;
|
|
font-size: 0.72rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.04em;
|
|
color: var(--muted);
|
|
}
|
|
.source-badge .name {
|
|
color: var(--accent);
|
|
text-transform: none;
|
|
letter-spacing: 0;
|
|
font-weight: 600;
|
|
}
|
|
</style>
|