Specification
Look System
kanonak.org
look@1.0.0
look
Badge Row
Renders type references as clickable badges with tooltips drawn from each target's rdfs.comment. `source` is the property holding the type references…
Badges Property
Optional property whose value is a list of type references to render as clickable badges with tooltips. urlForm is "*" so badges always link to the latest…
Band
Abstract base for all bands. A band is a semantic building block of a View — it reads properties off the input resource and renders one region of the page.…
Bands
Ordered list of bands that compose this view. Render order matches list order.
Brand
The Publisher resource this kit is for. The rendered brand name comes from the Publisher's rdfs.label; the brand link points to `/` (the publisher's own root).
Cell As
Optional band class to render each cell with. When absent, cells render their value via the universal value-walker.
Cell Max
Maximum value for normalized cell renderers.
Cell Min
Minimum value for normalized cell renderers (e.g., BarMeter).
Chip Row
Inline labeled chips, one per property in `chips`. Each chip shows the property's label and the input's value for that property. Chips with no value on the…
Chips
List of property references; each becomes a labeled chip showing the property's label and the input's value.
Counts
List of count-entries to display.
Direction
"ascending" or "descending". Defaults to "ascending".
Entries
List of property references; each property's references render as a labeled cross-reference group. Group label derives from the property's rdfs.label. urlForm…
Equals
The value the property must equal for the condition to match.
Eyebrow Property
Optional property whose value supplies the small uppercase text above the title. Typically `rdf:type`.
Featured Resource
Embed a specific resource's full view inline. `source` is a direct reference to the resource. Typical use: a publisher root view featuring the latest…
Footer
Site-wide footer content — optional text (license, copyright) plus a list of additional links.
Footer
Optional site-wide footer content.
Hero
Page header band. Renders a title (typically the resource's rdfs.label), optionally preceded by an eyebrow tag (rdf:type or similar), followed by a subtitle…
Instance Variant
A conditional override that fires when an instance matches a WhenCondition. Used to swap tokens (or, rarely, the entire view) based on instance state — e.g., a…
Limit
Maximum number of results. Omit for unlimited.
Links
Optional list of additional links in the footer.
Markdown
Prose section rendered as Markdown. `source` is a string-valued property whose content is processed through the SDK's CommonMark renderer.
Nav
Ordered list of nav entries shown in the chrome.
Nav Link
A single entry in a publisher's navigation. References a target resource (typically a package or named resource); the rendered label comes from the target's…
Of Class
The class to query for instances of.
Order By
Optional property to order results by. Property's value must be comparable (numbers, strings, dates).
Package View
The content of a package page (`/{package}` or `/{package}/{version}`). Bound to a Package resource via `derivation.look`. Aggregation bands (ResourceGrid,…
Property
The property of the input instance to test.
Property List
Definition-list rendering of one property's contents. `source` is the property to read (typically an embedded or list-of-embeddeds). The list title defaults to…
Property Table
Table rendering for a list of dict-keyed embeddeds. Each row is one embedded; columns are the union of predicate names across the embeddeds. Optional `cellAs`…
Publisher Kit
Publisher-wide configuration: brand, navigation, footer, default tokens, and the publisher's root view. The kit's chrome (brand / nav / footer) wraps every…
Publisher View
The content of the publisher root URL (`/`). Set as the `rootView` slot of a PublisherKit.
Reference List
Labeled groups of cross-references. `entries` is a list of properties; each property's references are rendered as a labeled group. Each link's label comes from…
Resource Count
Per-class count aggregates. `counts` is a list of ResourceCountEntry resources, each scoping to one class. Labels come from each class's rdfs.label; the count…
Resource Count Entry
One entry in a ResourceCount band. `source` references the class to count. The label is derived from the class's rdfs.label.
Resource Grid
Grid of resource cards. `source` is a ResourceQuery selecting which resources to include. Each card renders the resource's own derivation.look in `compact`…
Resource Query
Declarative resource selector — class, optional orderBy property, optional direction (ascending / descending), optional limit. v0.1 keeps the DSL intentionally…
Resource View
The content of a resource page. Bound to a class via `derivation.look`; every instance of the class renders its resource URL through this view.
Root View
The PublisherView rendered at the publisher's root URL (`/`). Distinct from chrome — this is the content area beneath the nav.
Source
For property-reading bands (BadgeRow, PropertyList, PropertyTable, Markdown): the property whose value supplies the band's content. For resource-targeting…
Subtitle Property
Optional property whose value supplies a subtitle paragraph below the title. Typically `rdfs.comment`.
Target
The resource this nav link points to. Range is rdfs.Resource — typically a Package (for `/snapshot`) or a named resource (for `/snapshot/view`). The rendered…
Text
Literal footer text (license info, copyright). One of the few places in the look vocabulary where a literal string is appropriate — there's no canonical…
Title Property
Property whose value supplies the Hero's headline text. Typically `rdfs.label`. The renderer reads input[title] and emits the value.
URL Form
Operator controlling how this property's reference values render as URLs. Four valid values, matching Kanonak's version-compatibility operators: - "*" : any…
Variants
Optional list of conditional overrides. Each variant's WhenCondition is evaluated against the input instance; matching variants layer their token / look…
View
Abstract base for the three view types — ResourceView, PackageView, PublisherView. A view is an ordered list of Bands plus optional InstanceVariant rules.…
When
The predicate that gates this variant. When the condition matches the input instance, the variant's token / look overrides apply.
When Condition
A predicate matching an instance's property value. v0.1 supports only equality matching (property + equals). More complex predicates (numeric thresholds,…