Composition
Assemble the landing page from content blocks
Everything the app can show is now in place — text, data, charts, views. The landing
page is their composition: an ordered sequence of
content blocks on the root document. Two block types exist: ldh:XHTML holds authored markup, and
ldh:Object embeds any other resource — a chart, a view, a document. Anything that is not markup
gets wrapped in an object block.
The demo's finished root document interleaves them into an executive dashboard:
<> a def:Root ;
dct:title "Northwind Traders" ;
rdf:_1 <#page-header> ; # XHTML — title and pitch
rdf:_2 <#overview-intro> ; # XHTML — dashboard intro
rdf:_3 <#sales-trend-block> ; # Object — monthly sales line chart
rdf:_4 <#revenue-by-country-block> ; # Object — geo chart
rdf:_5 <#top-selling-products> ; # Object — product ranking
rdf:_6 <#top-manager-header> ; # XHTML — section heading
rdf:_7 <#top-manager> ; # Object — employee of the quarter
rdf:_8 <#navigation-prompt> ; # XHTML — where to go next
rdf:_9 <#select-children> . # Object — children view
The narrative rhythm — prose, then evidence, then prose — is an editorial choice,
and it is made entirely in data: reordering the page is renumbering rdf:_N. In the browser the
same composition is drag-and-drop in edit mode; from the command line it is the root.ttl from the first stage grown to its final form, applied
with the same PUT.
What you now see
The homepage is the finished application: branded header, live charts over the imported graph, and navigation into the containers — every pixel of it a rendering of one document's description.
Next: Publish