site: topics axis + per-source indexes

Topics — the curated subscription layer: 18-value controlled vocabulary
in src/lib/topics.ts, enum-enforced by the content schema on finds and
reviews so unattended runs can't drift it. /topics/ index +
/topics/<t>/ pages with finds first-class alongside reviews, per-topic
RSS feeds that include finds (unlike category/tag feeds), "By topic"
section on /feeds/, Topics footer link and llms.txt section, dev-shim
coverage for the new feed URLs. daily-finds and build-review skills now
classify at capture/graduation time; "giftable" is a tag, never a
topic.

Per-source indexes: /sources/<slug>/ lists every review and find from a
source (catalog ∪ names in content, so retired sources resolve);
find/review colophons link "(more from this source)"; /sources/ cards
link "everything from this source →"; sub-3-item pages noindexed.

Claude-Session: https://claude.ai/code/session_01WZaczDJjL3xZ3u5spsN5AL
This commit is contained in:
2026-07-12 19:39:11 -04:00
parent be7263b912
commit 9e5fce1eb0
21 changed files with 695 additions and 14 deletions
+7
View File
@@ -134,6 +134,7 @@ const year = new Date().getFullYear();
<ul>
<li><a href="/">Home</a></li>
<li><a href="/grid/">Grid</a></li>
<li><a href="/topics/">Topics</a></li>
<li><a href="/sources/">Sources</a></li>
<li><a href="/feeds/">Feeds</a></li>
</ul>
@@ -520,6 +521,12 @@ const year = new Date().getFullYear();
border-bottom-color: currentColor;
text-decoration: none;
}
.colophon .source-more {
margin-left: 0.45rem;
font-size: 0.72rem;
border-bottom: 0;
font-style: italic;
}
.colophon .colophon-tags {
display: flex;
flex-wrap: wrap;