Skip to content

docs(terminology): cross-link See Also references, rename Source to Read more#1194

Closed
lamentierschweinchen wants to merge 2 commits into
multiversx:developmentfrom
lamentierschweinchen:glossary-crosslinks
Closed

docs(terminology): cross-link See Also references, rename Source to Read more#1194
lamentierschweinchen wants to merge 2 commits into
multiversx:developmentfrom
lamentierschweinchen:glossary-crosslinks

Conversation

@lamentierschweinchen

Copy link
Copy Markdown
Contributor

Summary

Surgical formatting pass over the 206-term glossary added in #1193 (docs/welcome/terminology.md). No definition text, Context lines, or sourcing content was changed — only structure and labels.

  1. Heading anchors: every **Term** bold line is promoted to a ### Term heading. Previously these were plain bold text with no Docusaurus anchor, so "See also" mentions had nothing to link to.
  2. Cross-linked "See also": every See also: A, B, C. line is now See also: [A](#a), [B](#b), ..., linking each mentioned term to its own new heading anchor. About 30 mentions use a short form that doesn't exactly match the target heading (e.g. "ABI" for "ABI (Application Binary Interface)", "NFT" for "NFT (Non-Fungible Token)" — kept distinct from the separate "NFT Royalties" entry, "Layer 1" for "Layer 1 (L1)"). These are resolved by exact match against the heading with its trailing (...) parenthetical stripped, never by fuzzy/substring matching. All 725 "See also" mentions across the file resolve; none were left unlinked.
  3. Source:Read more:: these lines already contain real links to docs chapters, just labeled as citations rather than a "keep reading" pointer. 28 of these lines also link back to the terminology page itself (self-referential) alongside a genuinely different chapter link in the same line; the self-link is dropped and the line relabeled. Two lines (Herotag, Node) whose only link is self-referential keep the Source: label rather than becoming a "Read more:" that points at nothing new. One line (Developer Revenue Share) uses a Source (live, 30%): ... Source (proposed, 90%): ... dual-qualifier format not otherwise seen in the file; both qualified labels are relabeled to Read more (...), since both links in that line are real and non-self-referential.

Deliberately untouched: the "Agent Arena" entry's Source: line is left byte-for-byte as-is. It carries no hyperlink and an internal reviewer note ("FLAG: confirm the current canonical definition and rollout status with the agent-stack owner before the public cut") that predates this PR and is out of scope for it — flagging here for reviewer awareness, not fixing it.

Verification

onBrokenLinks / onBrokenAnchors are set to "log" (not "throw") in docusaurus.config.js, so a bad anchor would not fail CI on its own. Verified with a full local build instead (npm install && npm run build):

  • First pass: the build's own broken-anchor checker flagged 2 of the generated anchors as broken. Root cause: a naive lowercase-and-strip slug implementation doesn't match Docusaurus's actual heading-slug algorithm, which converts whitespace to hyphens before stripping punctuation (without collapsing runs) and preserves underscores — e.g. Relayed Transactions (V1 / V2 / V3) slugs to relayed-transactions-v1--v2--v3 (double hyphen), not relayed-transactions-v1-v2-v3.
  • Fixed the slug algorithm and rebuilt clean: zero broken links/anchors referencing /welcome/terminology. All other broken links/anchors in the build output are pre-existing and unrelated to this file (e.g. chain-simulator-adder, sovereign/overview) — identical before and after this change.
  • Cross-checked all 206 generated heading anchors against the actual built HTML (build/welcome/terminology/index.html): exact match, zero discrepancies.

Test plan

  • npm install && npm run build succeeds
  • Zero broken links/anchors reported for /welcome/terminology (down from 2)
  • All 206 ### Term heading anchors verified against built HTML output
  • All 725 "See also" mentions resolve to a real anchor; none left unresolved
  • Agent Arena entry's Source/FLAG line confirmed byte-identical to before
  • Human review of the ~30 alias resolutions and the Developer Revenue Share dual-label judgment call

🤖 Generated with Claude Code

lamentierschweinchen and others added 2 commits July 7, 2026 13:55
…ead more

Two mechanical changes across all 206 glossary entries in
docs/welcome/terminology.md, verified with a full local Docusaurus build:

1. Promote each bold **Term** line to a `### Term` heading, so Docusaurus
   generates a real anchor per term (previously plain bold text with no
   anchor).
2. Convert every `See also: A, B, C.` line into linked references
   (`See also: [A](#a), [B](#b), ...`), pointing at each mentioned term's
   new heading anchor. ~30 short-form aliases (e.g. "ABI" for
   "ABI (Application Binary Interface)", "NFT" for
   "NFT (Non-Fungible Token)", distinct from "NFT Royalties") are resolved
   by exact match against the heading with its trailing parenthetical
   stripped -- never fuzzy/substring matching.
3. Relabel `Source:` to `Read more:`, since these lines already contain
   real links to docs chapters. 28 of these lines also link back to the
   terminology page itself alongside a genuinely different chapter link;
   the self-referential link is dropped and the line relabeled. Two lines
   (Herotag, Node) whose only link is self-referential keep the `Source:`
   label rather than becoming a "Read more" pointing at nothing new.

The Agent Arena entry's Source line is deliberately left untouched: it has
no hyperlink and carries an internal FLAG note ("FLAG: confirm the current
canonical definition and rollout status with the agent-stack owner before
the public cut") that predates this pass and is out of scope for it.

onBrokenAnchors is "log" not "throw" in docusaurus.config.js, so a bad
anchor would not fail CI. Verified instead with `npm install` + `npm run
build`: the build's own broken-anchor checker initially flagged 2 of my
computed slugs (the real github-slugger algorithm keeps whitespace-derived
hyphens uncollapsed and preserves underscores, unlike a naive
lowercase-and-strip implementation); fixed the slug algorithm and
confirmed all 206 generated heading anchors match the built HTML exactly,
with zero broken anchors left on /welcome/terminology.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
One-off term coined for a Battle of Nodes post; never should have been
added to the canonical glossary. No other entry referenced it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lamentierschweinchen

Copy link
Copy Markdown
Contributor Author

Superseded by #1195 — same changes, re-committed with a signed commit. Closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant