Specification
Look System
kanonak.org
site@1.0.0
site
Aggregate View
A page produced by aggregating across multiple resources of one class — a timeline, an index, a diff page. Wraps a SetTransformation reference + scope…
Asset
Shared content — CSS, JS, SVG, an HTML fragment — referenced by multiple transformations so the publisher writes it once and inlines or links it from anywhere.…
Body
Page content as Markdown. The default universal HTML rendering emits this verbatim inside a paragraph; publisher layout transformations parse it as Markdown…
Content
The raw asset content. Authored as a literal string in the Kanonak YAML; layout transformations read it via PropertyRead and emit it into the output document.
Media Type
IANA media type of the asset content (e.g. text/css, text/javascript, image/svg+xml, text/html). Layout transformations dispatch on this when deciding how to…
Output Path
Relative path where the materialized artifact should be written by `kanonak site build`, e.g. `about/index.html` or `snapshot@1.0.4/view.html`. Resolved…
Page
Abstract — a publishable page. Carries the output path the site builder writes the materialized artifact to. Concrete subclasses are StaticPage (authored…
Page Of
The resource whose materialized artifact should be published at the page's outputPath. The site builder runs the polymorphic derivation walk on this resource…
Resource Page
A page that publishes an existing resource (declared elsewhere) at a specific output path. Use when the resource itself is the page content but its publication…
Scope Class
The class whose instances should be aggregated. Equivalent to a SetTransformation's inputPattern.matchesClass — the runner selects every instance of this class…
Scope Sources
Package URIs whose instances participate in the aggregation. Each entry is a string of the form `publisher/package[@version]`. The literal string…
Static Page
A page whose content is authored directly rather than derived from other resources. Examples: about, privacy, documentation landing. Carries a title plus a…
Title
Human-readable page title. Renders as the page heading and HTML <title>.
Transformation
Reference to the SetTransformation that produces the aggregate artifact. The transformation's inputPattern.matchesClass should match scopeClass (or be an…