Look
The declarative rendering vocabulary. A resource declares how it presents itself by attaching a view of stacked bands; the SDK interprets that declaration instead of hardcoding layout, so appearance is authored in the graph and overridable without recompiling.
The look vocabulary lets a type say how it renders, declaratively. A view — Resource View,
Package View, or
Publisher View — is an ordered list of
Bands, each a self-contained section:
Hero for the header,
Markdown for prose,
Details for a generic property dump,
Property Table /
Property List for structured fields,
Embedded Views /
Instances for nested resources, and
Referenced By for incoming links. Bands read their content from properties named declaratively — a Markdown band's
Source, say — so the same machinery styles any vocabulary. Defaults and the rdfs.Resource floor live in the universal-look package; this package defines the building blocks.
Configuring a publisher's look
A publisher's landing page is just a Publisher resource rendered through a
Publisher View. Attach a
derivation.look to the Publisher and list the bands you want, top to bottom:
acme:
type: ck.Publisher
label: Acme
comment: Tools for the road-runner age.
derivation.look:
type: look.PublisherView
bands:
- type: look.Hero
look.title: rdfs.label
look.subtitle: rdfs.comment
- type: look.Markdown
look.source: prose.documentation
- type: look.PublisherPackages
That renders a Hero over the publisher's name and tagline, its
Documentation as a
Markdown section, and a
Publisher Packages grid of every package it publishes (latest version of each).
To feature a curated headline set instead of the whole catalog, give Publisher Packages an explicit
Packages list and introduce it with a
Section Heading:
- type: look.SectionHeading
look.heading: Start here
- type: look.PublisherPackages
look.packages:
- core-rdf
- core-owl
Site-wide chrome — the Nav shown on every page and a
Footer (copyright / license text plus optional links) — is declared the same way, on the Publisher resource, so it applies across the whole site from one place. Declare no look at all and the universal-look default applies (a Hero plus the full package grid), so every publisher has a usable landing page out of the box.