Skip to main content

Module topic_clusters

Module topic_clusters 

Source
Expand description

Curated metadata for the topics taxonomy (#587).

ssg already derives /topics/{slug}/ from each page’s topics: front matter. What it cannot derive is editorial judgement: which topic deserves a title that is not just its slug title-cased, what the topic is about, and which of its pages should lead.

A pillar page is that judgement written down. _data/topics.toml supplies it, and every field is optional:

[post-quantum-cryptography]
title = "Post-Quantum Cryptography"
lede  = "Lattice-based cryptography, NIST PQC standards, and the \
         harvest-now-decrypt-later threat."
banner = "/images/pqc.webp"
order = [
  "quantum-safe-banking-index",
  "securing-the-ledger",
]

A file that is absent, empty or unreadable leaves the taxonomy exactly as it is today — this can only add to a build, never change one that does not opt in.

order names pages that should lead; anything not named keeps the order the taxonomy already produced, appended after them. Naming a page that is not in the topic is not an error: curation and content drift apart, and failing a build over a stale slug in a data file helps nobody. The same goes for a [section] naming a topic that no page carries — it is reported once, on stderr, and skipped.

Structs§

TopicCluster
Editorial metadata for one topic.

Functions§

apply_order
Moves the pages named in order to the front, in that order.
load
Loads _data/topics.toml, or an empty map.
warn_unknown
Reports [section]s naming a topic no page carries.

Type Aliases§

TopicClusters
Topic slug → curated metadata.