Content-model binding sheet
Per page: the fields each region reads (structure §3 and §7), the empty-state rule, the schema type. The prototype data lives in src/data/.
| Page | Fields read | Empty-state rule | Schema |
|---|---|---|---|
| Front page | edition · sections[] · articles (newest, by section) · dossier (pinned or newest) · counts | a section with no version in the edition shows sectionEmpty; a Tier 3 edition shows tier3 under the masthead | WebSite (SearchAction) + Organization |
| Section index | section (name, desc, colour) · versions in section (newest first) · best-read (computed weekly) | one article: featured only, no rows; none: sectionEmpty | CollectionPage + BreadcrumbList |
| Article | version (headline, standfirst, body, status, footnotes) · article (kind, section, authors[], translator, published, modified, image, topics, dossier, flags, attachments, book, correction, withdrawn) · related (computed) · pinned dossier · editions holding a version | no image → no figure and the default card; credit missing → alt only; translated → notice; withdrawn → statement page at the same URL | Article (+ Review for book kind) + BreadcrumbList |
| Author page | person (name per edition, roles, portrait, bio per edition with original-language fallback, links, editorOf, former) · versions by this person in the edition, grouped by year · editions holding their work | no portrait → initials; no bio in edition → Sorani bio with lang="ckb"; no version → noVersionHere with the editions line | ProfilePage (mainEntity Person) |
| Authors index | persons with a published version in the edition · editors and translators | a letter with one person still gets its rule | CollectionPage |
| Topic page | topic (name, desc, count, mergedFrom) · versions with the topic | mergedFrom → “this topic also includes” line | CollectionPage |
| Topics index | topics grouped by first letter under the edition’s collation | — | CollectionPage |
| Dossier page | dossier (title, standfirst, image, parts ordered, plannedParts, status) | in progress → remaining parts line | CollectionPage (hasPart Article) |
| Dossiers index | dossiers newest first with part counts and lead images | — | CollectionPage |
| Archive | year → months with counts; month → dated list | month with no versions in the edition → sectionEmpty | CollectionPage |
| Search | query · filters (section, author) · edition index (headline, standfirst, author, topics) | initial · results · no results | — (noindex) |
| Editions index | editions (name, tier, editors, count, dir) | unbuilt editions are shown disabled in the prototype | — |
| Static pages | page body per edition with original-language fallback; About carries the editors list and the model section | missing edition body → Sorani with lang | AboutPage · ContactPage · WebPage |
| Withdrawn · 404 | withdrawn: headline, dates, statement, section link, newest five · 404: search, sections, newest five | — | — (noindex · 404 returns HTTP 404) |