Slots, islands and layers

Decision · Acceptedspecs/decisions/publication/slots-islands-and-layers

The site (note: Site) is a set of named slots (note: Slot) rendered (33 passages, no note) at build (note: Build) by components (46 passages, no note), each with a typed view model (10 passages, no note) that is the contract (note: Contract) between the generator and a theme (note: Theme); the published HTML carries the full content (43 passages, no note) of every page. Only interactive (15 passages, no note) components are hydrated (3 passages, no note): an island (note: Island) is served as its static (22 passages, no note) markup inside an element (10 passages, no note) carrying its props (3 passages, no note), and one small bundle (12 passages, no note) per island, named after a hash of its content, mounts the same component on it, loaded only by the pages that use it, so that a page loads no framework code unless one of its islands needs it. Every such bundle is a classic script (5 passages, no note), never a module (27 passages, no note): some browsers (31 passages, no note) refuse a module script (37 passages, no note) on a page opened from the disk, and the site promises to work there; only the document viewer (note: Document viewer), imported (27 passages, no note) on demand by its island, is a module. Styling is native CSS in four cascade layers, tokens, base (4 passages, no note), components and project, the project (4 passages, no note)'s stylesheet (26 passages, no note) winning every cascade (note: Type cascade) by construction. Without JavaScript the content (3 passages, no note) stays reachable: mentions (note: Mention) in native disclosure (4 passages, no note) elements, the search (note: Search) field (37 passages, no note) a plain form (52 passages, no note), the mode switch (note: Colour scheme) hidden. A budget of 150 kB (3 passages, no note) per page is measured on every build.

Affects

Properties

Status
Accepted
Decided on

3 keys: the status and the date are authoritative.

See the neighbourhood map6 pages6Neighbourhood mapSlots, islands and layers

Neighbourhood map Slots, islands and layers

Distance1 hop

Neighbourhood map. The list below carries the same information as the map.existing pageword without a note

23 neighbours in total, more than the map shows.

textual equivalent

Six neighbours at most, always named. Beyond that the map teaches nothing: the list takes over.