Related-Entries Sidebar
This very sidebar — the left-hand list you just clicked through to get here — is theFamilyNav component (src/components/FamilyNav.astro). Give an entry afamily id in its frontmatter and it appears in a sidebar alongside every other entry sharing that id — no hand-pasted markup, and nothing that can drift out of sync between sibling pages the way it could on the old static site.
When it shows up
EntryLayout only renders a FamilyNav when the entry's frontmatter setsfamily. Set it on a main Landscape and every Variant/POI that belongs to it (or on a group of related Entities, even if they're not tied to any Landscape) — all it takes is the same string in each file's family field.
Variant vs. POI
A Variant is an alternate version of the whole Landscape — same place, shifted palette and rules (The Redrooms is a Variant of The Lobby: same layout logic, but red and unstable). A POI (Point of Interest) is a specific notable location or piece of media documented within it, rather than an alternate version of the whole thing (The Lobby's two Kane Parsons POIs each document one piece of found footage, not an alternate Lobby). Both are the one kind of entry that doesn't get top-level treatment on a listing page or in Random Entry — set familyRole: variant or poi (instead of leaving it unset/main) and they're automatically excluded from both, reachable only through this sidebar. SeeThe Lobby,The Redrooms, and its two POI pages for a working example.
File-wise, every member of a family — the main entry included — lives together in one folder named after the family, with the main entry's file matching the folder's name: e.g.src/content/landscapes/the-lobby/the-lobby.mdx (main) alongsidesrc/content/landscapes/the-lobby/the-redrooms.mdx (Variant) in the samethe-lobby/ folder. That's just organization, though; the actual sidebar grouping comes from the shared family id, not the folder. The one consequence: a main entry that's part of a family gets a URL one segment longer than a standalone entry —/landscapes/the-lobby/the-lobby instead of /landscapes/the-lobby — since the folder segment and the file segment are both present.
Copy-paste pattern
Add this frontmatter to any entry to join (or start) a family:
family: "the-lobby" # any id — every entry sharing it appears together
familyTitle: "The Lobby" # sidebar header text
familyRole: "variant" # "main" | "variant" | "poi" | "entity" — omit for "main"
familyOrder: 1 # tie-breaker when two entries share a role (e.g. two POIs)
relatedTitle: "The Lobby" # for the "(Variant of ...)" text in the classification badge
relatedHref: "/landscapes/the-lobby/the-lobby"