Vanilla Breeze

topic-map

SKOS-aware hierarchical view of site concepts. Joins vocabulary.json with pages.json to render a nested details tree rooted at top concepts.

Overview

Joins two data sources to draw a concept tree. vocabulary.json supplies the SKOS graph (skos:broader, skos:narrower, skos:hasTopConcept) and the display labels. pages.json supplies each page's concepts: [] array, harvested by the build from repeated <meta name="concept"> tags (per meta-tag contract v1.1). Each node shows the concept's skos:prefLabel, a count of pages tagged with that concept or any descendant, and links to /topics/{id}/. The native <details> tree expands and collapses without JavaScript.

Authoring concept tags

Each content page declares the concepts it covers in frontmatter:

The build emits one <meta name="concept"> per id, and generate-pages-json.js harvests them into the page's concepts: [] array. The ids must resolve against vocabulary.json — concepts not in the vocabulary land under Uncategorized. Hierarchy comes from skos:broader / skos:narrower in the vocabulary, not from path strings.

Attributes

AttributeTypeDefaultDescription
data-lens-srcstringURL to pages.json. Each record must expose a concepts: [] array.
srcstringAlias for data-lens-src.
data-vocabulary-srcstring/vocabulary.jsonURL to the SKOS vocabulary file used to resolve labels and hierarchy.
expand-allbooleanfalseRender with every level expanded.