Skip to content

boltIconography

The site uses a small set of Material Symbols Outlined glyphs as a visual vocabulary. One icon per concept, reused consistently. The font is subsetted to only the glyphs in this table — adding a new icon to a page requires extending the subset in docs/.vitepress/config.mts.

How icons are used

  • As bullets — when a list item leads with an icon, the icon replaces the disc marker and grows a touch. Wrap the list in <div class="icon-bullets">. See the audience list on the Introduction page for the canonical example.
  • As section markers — pillar overview pages carry one brand-blue icon in the H1; the roadmap page uses rocket_launch (orange) and check_circle (green) as status markers.
  • As table cells — the lifecycle UDFs overview surfaces a distinct icon per UDF so the table scans visually.
  • In navigation — the five pillar overview entries in the sidebar carry the same blue icons used in their H1s.

Size variants

ClassSizeUse case
.icon-xs1.0 emInline in dense tables
.icon-sm1.2 emDefault — inline body text
.icon-md1.5 emBullet list markers
.icon-lg1.9 emHero callouts
.icon-xl2.6 emPage-level decoration

The bullet-marker mode (<div class="icon-bullets">) sizes the icon at 1.6 em automatically — no need to apply .icon-md.

Color accents

Used sparingly, only when the icon is making a real signal.

ClassColorUsed for
.icon-bluePostgreSQL elephantPillar headers; primary brand accent
.icon-greenRDF data green"Shipped" status markers
.icon-orangeHeads-up amberForward-edge status, in-flight callouts
(no class)inherits text colorDefault — body, neutral lists

The vocabulary

Pillars

IconGlyphConcept
storagestoragePillar 1 — Semantic storage
searchsearchPillar 2 — Semantic query (SPARQL)
psychologypsychologyPillar 3 — Materialization (OWL 2 RL)
verifiedverifiedPillar 4 — Validation (SHACL Core)
buildbuildOperations

Status

IconGlyphConcept
check_circlecheck_circleShipped on main
rocket_launchrocket_launchForward edge / in flight
infoinfoInline metadata callout

Personas

IconGlyphConcept
groupsgroupsProject managers
query_statsquery_statsData scientists
schoolschoolOntologists
codecodeBackend engineers
settingssettingsOperators

Concepts

IconGlyphConcept
descriptiondescriptionTurtle ingest (file or string)
account_treeaccount_treeNamed graphs / IRI tree / hexastore
boltboltSpeed / cache / hot path
hubhubComposition (OPTIONAL / UNION / MINUS)
fact_checkfact_checkValidation report

Lifecycle UDFs

IconGlyphUDF
delete_foreverdelete_foreverpgrdf.drop_graph
layers_clearlayers_clearpgrdf.clear_graph
content_copycontent_copypgrdf.copy_graph
swap_horizswap_horizpgrdf.move_graph

Adding a new icon

  1. Pick a glyph from https://fonts.google.com/icons.
  2. Append the glyph name to the comma-separated icon_names=… list in docs/.vitepress/config.mts.
  3. Add a row to the appropriate vocabulary table above.
  4. If it's a recurring concept, sketch a one-line "used for" semantics — this is the rule that keeps future authors from re-using the same glyph for two distinct ideas.
  5. If it's a sidebar overview icon, wire the ::before rule in docs/.vitepress/theme/custom.css.

Anti-patterns

  • Don't decorate every line. The icon must pull weight — navigation, status differentiation, or table-row identity. Body prose is icon-free.
  • Don't introduce a new glyph when an existing one fits. Vocabulary consistency beats novelty.
  • Don't colour-accent without a reason. Default is inherit. Use a colour only for status (green / orange) or pillar identity (blue).

Apache-2.0 licensed. Documentation for pgRDF — built with VitePress, served via GitHub Pages.