index (single-file page node)

Purpose

The / route (index.astro, 4204 lines) — the site homepage. It is a marketing-and-investigation landing/hub page: a Primal Diet intro (hero logo + title + two Aajonus quotes) that doubles as a condensed version of the successors/Jim/Phoenix exposé (the same thesis told at length on phoenix-be) and as a resource hub linking out to the free books, coaching, iris-reading, campaign, news, roadmap, AI chatbots, and social accounts. Unlike iris-reading (mostly self-contained content), this page is composition-heavy: most of its substance is delivered through already-documented components (BookProfileCollection, BookPurchaseCard, Quote, PersonProfile, BigButton, CampaignLink, Contact, MailingSubscribe, RevealToggles) plus astro:assets Image and a lot of inline hard-coded link/social markup. A single-file node — no Children section. The documentation value is the page’s shape, in-file data, and composition, not its editorial content; prose and the aiChatbots field values are not transcribed here.

Direct content

src/pages/index.astro

Public API / frontmatter (:1-96)

Section outline

The page renders inside MainLayout (:100) as a flat list of <section> blocks (no wrapping <article>). Reveal blocks use the .see-more button + sibling .hidden-text[hidden] pattern toggled by <RevealToggles /> (:2403) — the page has no inline <script> (see Invariants). One line per top-level block:

Components used

Counts are literal <Tag occurrences in source at df03444 (live unless noted); reconcile against the importer table in src/components/DOCS.md (:378-390). Link, don’t re-derive — each is documented there.

ComponentCountProp(s) this page passes
Quote26photo (.src), name, content or slotted <p>s, source, date (new Date(...)), url; some dialogue turns use followUp={true}
PersonProfile3 live (+1 commented :758)photo (.src), name, description — Jim (:773), Phoenix (:1495), Chris (:2126)
BigButton5href (/phoenix-be, /official-reply, /campaign, /official-coaching-scam, /official-reply); targetBlank={true} on the two /official-reply
CampaignLink5none, except one text="Sign on change.org" (:2292)
Contact1none (:2396)
BookProfileCollection1none (:282)
BookPurchaseCard1none (:285)
RevealToggles1none (:2403)
MailingSubscribe1none (:2369)
External0imported (:7) but never rendered — dead import
Image (astro:assets)34 occurrencessrc (imported ImageMetadata), alt, width, quality={75} — several occurrences sit inside commented-out blocks

Total live component usages (the 10 ../components/* components) ≈ 44 (45 if the commented PersonProfile at :758 is counted), matching the brief’s ~45 estimate; Image adds the bulk on top.

Dependencies

Invariants / gotchas

Open questions