You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`post`|`title`, `category`, `author`, `publishedAt`, `excerpt`, `url`|`useSanityPosts` — Blog page|
65
+
|`post`|`title`, `slug`, `category`, `author`, `publishedAt`, `excerpt`, `content` (Portable Text/rich text), `featuredImage` (optional), `url` (optional external reference — not the content source) |`useSanityPosts` — Blog page; `useSanityPost(slug, seed)` — the post's own page at `/blog/:slug`|
65
66
|`teamMember`|`name`, `role`, `linkedin` (url), `photo` (image), `group` (`"studio"`\|`"academy"`), `order` (number) |`useSanityTeam(group, seed)` — Studio team (`#codeboxx .person`) and Academy team (`#academy .person`), same type filtered by `group`|
66
67
|`partnerLogo`|`name`, `logo` (image), `order` (number) |`useSanityLogos(seed)` — the `.client-slider` partner logos; however many documents exist is however many slides show |
67
68
|`cohortIntake`|`program` (`"fsd"`\|`"aidev"`), `date`, `location`, `status` (`"Open"`\|`"Waitlist"`\|`"Planned"`) |`useIntakes(seed)` in `src/lib/intakes.js` — the `#intake` calendar rows |
@@ -71,6 +72,28 @@ placeholder for a real admissions API later, and `IntakeCalendar` only ever impo
71
72
`useIntakes` and expects a `{ fsd: [...], aidev: [...] }` return shape — swapping the data
72
73
source later means rewriting `src/lib/intakes.js` only, with no changes to `Home.jsx`.
73
74
75
+
Each post's `content` field is Sanity's standard Portable Text (rich text) — currently
76
+
text-only in the schema (headings, bold/italic, links, lists, quotes), no inline images
77
+
yet; that's a deliberate, easy-to-extend-later scope call, not a limitation of the
78
+
approach. It renders via `@portabletext/react` (the one dependency this project adds
79
+
beyond a plain `fetch` — a small, official rendering library, not an API client, so it
80
+
doesn't conflict with the rest of `sanity.js` staying SDK-free) with `components`
81
+
overrides in `src/pages/BlogPost.jsx` mapping block/list/mark types onto this site's
0 commit comments